Da Cloud Computing und Virtualisierungstechnologie immer ausgereifter werden, beginnen immer mehr Entwickler, Virtualisierungstechnologie für lokale Entwicklung und Tests zu nutzen. Virtualisierungstechnologie hilft bei der Isolierung von Entwicklungsumgebungen und macht die Verwaltung und Entwicklung mehrerer Umgebungen bequemer und flexibler. In diesem Artikel erfahren Sie, wie Sie eine Vagrant + Docker-Entwicklungsumgebung einrichten, wenn Sie das Beego-Framework für lokale Entwicklung und Tests verwenden.
Vagrant ist eine Virtualisierungstechnologie, mit der Sie schnell eine virtualisierte Entwicklungsumgebung erstellen und verwalten können. Vagrant kann verschiedene virtuelle Engines unterstützen (z. B. VirtualBox, VMware, Hyper-V usw.), sodass Sie die Engine auswählen können, die zu Ihrer aktuellen Entwicklungsumgebung passt, um Ihre virtuelle Entwicklungsumgebung auszuführen.
Docker ist eine Containerisierungstechnologie, die Ihnen hilft, Anwendungen und Dienste schnell zu erstellen, bereitzustellen und auszuführen. Docker-Container können in jeder Umgebung ausgeführt werden und bieten leistungsstarke Mechanismen zur Umgebungsisolierung und Versionskontrolle.
Wenn wir unseren Code in mehreren Umgebungen testen müssen, müssen wir genauso genau entwickeln und testen wie die Produktionsumgebung, insbesondere müssen die Unterschiede und die Konfiguration jeder Umgebung mit der Produktionsumgebung konsistent sein. In diesem Fall kann die Verwendung von Vagrant + Docker Entwicklern dabei helfen, komplexe Test- und Wartungsarbeiten in mehreren Umgebungen durchzuführen, ohne sich über Inkonsistenzen in den Umgebungsparametereinstellungen und Fehler aufgrund von Fehlbedienungen Gedanken machen zu müssen.
Bevor Sie Vagrant + Docker verwenden, müssen Sie diese beiden Tools auf Ihrem Computer installieren. Beide Tools verfügen über eine gute Dokumentation und Community-Unterstützung. Daher müssen Sie während des Installationsprozesses auf die folgenden Schritte achten:
Mit den oben genannten Schritten haben Sie Vagrant und Docker erfolgreich installiert und können nun Vagrant verwenden, um eine neue virtuelle Maschine auszuführen, die über eine Docker-Laufumgebung verfügt. Bevor wir Vagrant zum Ausführen der virtuellen Maschine verwenden, müssen wir die Vagrant-Datei konfigurieren:
Vagrant.configure("2") do |config| config.vm.box = "ubuntu/focal64" config.vm.network "forwarded_port", guest: 8080, host: 8080 config.vm.provider "virtualbox" do |vb| vb.memory = "2048" vb.cpumax = "2" vb.cpus = "1" end config.vm.provision "docker" end
Die obige Konfigurationsdatei bedeutet:
ubuntu/focal64
als Betriebssystem der virtuellen Maschineubuntu/focal64
作为虚拟机的操作系统现在,执行以下命令以启动 Vagrant 虚拟机:
vagrant up
在执行此命令后,Vagrant 将自动下载安装 Ubuntu 虚拟机,这个过程可能需要一些时间。安装完成后,您将可以使用以下命令通过 SSH 登录到 Vagrant 虚拟机:
vagrant ssh
通过以上操作,您已经成功创建了一个具有 Docker 运行环境的虚拟机。接下来,你可以使用 Docker 运行您的 Beego 应用程序,您需要遵循以下步骤:
git clone
命令下载您的 Beego 应用程序源代码。Dockerfile
的文件。Dockerfile 将包含一些指令来构建 Docker 容器。下面是一个例子:FROM golang:1.16 ENV GOPATH /go ENV PATH $GOPATH/bin:/usr/local/go/bin:$PATH RUN apt-get update && apt-get -y install build-essential git-all RUN mkdir -p $GOPATH/src/${MY_APP_PATH}/ ADD . $GOPATH/src/${MY_APP_PATH}/ WORKDIR $GOPATH/src/${MY_APP_PATH}/ RUN go install ${MY_APP_PATH} ENTRYPOINT ${GOPATH}/bin/${MY_APP}
在这个Dockerfile中,我们使用 Golang-1.16 作为基于镜像,并下载安装了一些必要的依赖。然后,我们复制所有源代码到镜像中,并使用 golang 的 go install
命令构建安装您的 Beego 应用程序。在容器启动时,Beego 应用程序作为入口点(Entry Point)启动
docker build --build-arg MY_APP_PATH=github.com/your-username/your-app -t my-app-name:v1 .
docker run --rm -it -v $(pwd):/go/src/github.com/your-username/your-app -p 8080:8080 my-app-name:v1
在这个命令中,我们将当前目录绑定到容器中的 /go/src/github.com/your-username/your-app
git clone
in der virtuellen Vagrant-Maschine, um den Quellcode Ihrer Beego-Anwendung herunterzuladen. 🎜🎜Erstellen Sie eine Datei mit dem Namen Dockerfile
im Stammverzeichnis Ihrer Beego-Anwendung. Die Docker-Datei enthält einige Anweisungen zum Erstellen eines Docker-Containers. Hier ist ein Beispiel: 🎜🎜rrreee🎜In dieser Docker-Datei verwenden wir Golang-1.16 als Basis-Image und laden einige notwendige Abhängigkeiten herunter und installieren sie. Anschließend kopieren wir den gesamten Quellcode in das Image und erstellen und installieren Ihre Beego-Anwendung mit dem Golang-Befehl go install
. Wenn der Container startet, startet die Beego-Anwendung als Einstiegspunkt zum Erstellen des Containers. Führen Sie im Stammverzeichnis der Beego-Anwendung den folgenden Befehl aus: 🎜🎜rrreee/go/src/github.com/your-username/your-app
Verzeichnis, sodass Codeänderungen synchron innerhalb des Containers aktualisiert werden. Ordnen Sie gleichzeitig den 8080-Port des Containers dem 8080-Port des Hosts zu, damit wir über den Browser auf die Beego-Anwendung im Container zugreifen können. 🎜🎜Zusammenfassung🎜🎜Die oben genannten Schritte können Ihnen helfen zu verstehen, wie Sie mit Vagrant + Docker eine Debugging-Umgebung konfigurieren, um Ihnen das Entwickeln und Testen derselben wie in der Produktionsumgebung zu erleichtern. Die richtige lokale Entwicklungsumgebung kann Ihre Entwicklung und Ihren Prozess beschleunigen, Einschränkungen überwinden und fantastischere Ideen hervorbringen. 🎜Das obige ist der detaillierte Inhalt vonLokale Entwicklung und Tests mit Vagrant und Docker in Beego. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!