클라우드 컴퓨팅 및 가상화 기술이 계속 발전함에 따라 점점 더 많은 개발자가 로컬 개발 및 테스트에 가상화 기술을 사용하기 시작했습니다. 가상화 기술은 개발 환경을 격리하는 데 도움이 되며 여러 환경을 보다 편리하고 유연하게 관리하고 개발할 수 있게 해줍니다. 이 글에서는 로컬 개발 및 테스트를 위해 Beego 프레임워크를 사용할 때 Vagrant + Docker 개발 환경을 설정하는 방법을 소개합니다.
Vagrant는 가상화된 개발 환경을 빠르게 구축하고 관리할 수 있는 가상화 기술입니다. Vagrant는 다양한 가상 엔진(예: VirtualBox, VMware, Hyper-V 등)을 지원할 수 있으므로 현재 개발 환경에 적합한 엔진을 선택하여 가상 개발 환경을 실행할 수 있습니다.
Docker는 애플리케이션과 서비스를 빠르게 생성, 배포 및 실행하는 데 도움이 되는 컨테이너화 기술입니다. Docker 컨테이너는 모든 환경에서 실행될 수 있으며 강력한 환경 격리 및 버전 제어 메커니즘을 제공합니다.
여러 환경에서 코드를 테스트해야 하는 경우 프로덕션 환경만큼 정확하게 개발하고 테스트해야 하며, 특히 각 환경의 차이점과 구성이 프로덕션 환경과 일치해야 합니다. 이 경우 Vagrant + Docker를 사용하면 개발자가 환경 매개변수 설정의 불일치 및 오작동으로 인한 오류에 대한 걱정 없이 여러 환경에서 복잡한 테스트 및 유지 관리 작업을 완료하는 데 도움이 될 수 있습니다.
Vagrant + Docker를 사용하기 전에 컴퓨터에 이 두 가지 도구를 설치해야 합니다. 두 도구 모두 좋은 문서와 커뮤니티 지원을 갖추고 있으므로 설치 과정에서 다음 단계에 주의해야 합니다.
위의 단계를 통해 Vagrant와 Docker를 성공적으로 설치했으며 이제 Vagrant를 사용하여 Docker 실행 환경이 있는 새 가상 머신을 실행할 수 있습니다. Vagrant를 사용하여 가상 머신을 실행하기 전에 Vagrantfile을 구성해야 합니다:
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
위 구성 파일의 의미:
ubuntu/focus64
사용ubuntu/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
명령을 사용하여 Beego 애플리케이션 소스 코드를 다운로드합니다. 🎜🎜Beego 애플리케이션의 루트 디렉터리에 Dockerfile
이라는 파일을 만듭니다. Dockerfile에는 Docker 컨테이너를 빌드하기 위한 몇 가지 지침이 포함되어 있습니다. 예는 다음과 같습니다. 🎜🎜rrreee🎜이 Dockerfile에서는 Golang-1.16을 기본 이미지로 사용하고 필요한 일부 종속성을 다운로드하여 설치합니다. 그런 다음 모든 소스 코드를 이미지에 복사하고 golang의 go install
명령을 사용하여 Beego 애플리케이션을 빌드 및 설치합니다. 컨테이너가 시작되면 Beego 애플리케이션이 진입점으로 시작됩니다🎜/go/src/github.com/your-username/your-app
에 바인딩합니다. > 디렉터리이므로 코드 변경 사항은 컨테이너 내에서 동기적으로 업데이트됩니다. 동시에 브라우저에서 컨테이너의 Beego 애플리케이션에 액세스할 수 있도록 컨테이너의 8080 포트를 호스트의 8080 포트에 매핑합니다. 🎜🎜요약🎜🎜위의 단계는 Vagrant + Docker를 사용하여 프로덕션 환경에서와 동일한 개발 및 테스트를 용이하게 하는 디버깅 환경을 구성하는 방법을 이해하는 데 도움이 될 수 있습니다. 올바른 로컬 개발 환경은 개발 및 프로세스 속도를 높이고, 한계를 깨고, 더 환상적인 아이디어를 혁신할 수 있습니다. 🎜위 내용은 Beego에서 Vagrant 및 Docker를 사용한 로컬 개발 및 테스트의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!