>  기사  >  백엔드 개발  >  Beego에서 Vagrant 및 Docker를 사용한 로컬 개발 및 테스트

Beego에서 Vagrant 및 Docker를 사용한 로컬 개발 및 테스트

WBOY
WBOY원래의
2023-06-22 17:13:52704검색

클라우드 컴퓨팅 및 가상화 기술이 계속 발전함에 따라 점점 더 많은 개발자가 로컬 개발 및 테스트에 가상화 기술을 사용하기 시작했습니다. 가상화 기술은 개발 환경을 격리하는 데 도움이 되며 여러 환경을 보다 편리하고 유연하게 관리하고 개발할 수 있게 해줍니다. 이 글에서는 로컬 개발 및 테스트를 위해 Beego 프레임워크를 사용할 때 Vagrant + Docker 개발 환경을 설정하는 방법을 소개합니다.

Vagrant와 Docker란 무엇인가요?

Vagrant는 가상화된 개발 환경을 빠르게 구축하고 관리할 수 있는 가상화 기술입니다. Vagrant는 다양한 가상 엔진(예: VirtualBox, VMware, Hyper-V 등)을 지원할 수 있으므로 현재 개발 환경에 적합한 엔진을 선택하여 가상 개발 환경을 실행할 수 있습니다.

Docker는 애플리케이션과 서비스를 빠르게 생성, 배포 및 실행하는 데 도움이 되는 컨테이너화 기술입니다. Docker 컨테이너는 모든 환경에서 실행될 수 있으며 강력한 환경 격리 및 버전 제어 메커니즘을 제공합니다.

로컬 개발 및 테스트에 Vagrant + Docker를 사용하는 이유는 무엇입니까?

여러 환경에서 코드를 테스트해야 하는 경우 프로덕션 환경만큼 정확하게 개발하고 테스트해야 하며, 특히 각 환경의 차이점과 구성이 프로덕션 환경과 일치해야 합니다. 이 경우 Vagrant + Docker를 사용하면 개발자가 환경 매개변수 설정의 불일치 및 오작동으로 인한 오류에 대한 걱정 없이 여러 환경에서 복잡한 테스트 및 유지 관리 작업을 완료하는 데 도움이 될 수 있습니다.

Vagrant 및 Docker 설치

Vagrant + Docker를 사용하기 전에 컴퓨터에 이 두 가지 도구를 설치해야 합니다. 두 도구 모두 좋은 문서와 커뮤니티 지원을 갖추고 있으므로 설치 과정에서 다음 단계에 주의해야 합니다.

  1. [Vagrant 공식 웹사이트](https://www.vagrantup.com/downloads)에 들어가서 Vagrant를 다운로드하세요. .
  2. 현재 사용 중인 운영체제에 따라 [Docker 공식 홈페이지](https://docs.docker.com/engine/install/)에서 Docker를 다운로드하여 설치하세요. 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

위 구성 파일의 의미:

  1. 가상 머신의 운영 체제로 ubuntu/focus64 사용ubuntu/focal64 作为虚拟机的操作系统
  2. 将虚拟机的 8080 端口映射到主机的 8080 端口上
  3. 分配给虚拟机的内存大小是 2048MB
  4. 虚拟机分配的 CPU 是 2 个核。

启动 Vagrant 虚拟机

现在,执行以下命令以启动 Vagrant 虚拟机:

vagrant up

在执行此命令后,Vagrant 将自动下载安装 Ubuntu 虚拟机,这个过程可能需要一些时间。安装完成后,您将可以使用以下命令通过 SSH 登录到 Vagrant 虚拟机:

vagrant ssh

使用 Docker 运行 Beego 应用程序

通过以上操作,您已经成功创建了一个具有 Docker 运行环境的虚拟机。接下来,你可以使用 Docker 运行您的 Beego 应用程序,您需要遵循以下步骤:

  1. 在 Vagrant 虚拟机中使用 git clone 命令下载您的 Beego 应用程序源代码。
  2. 在您的 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)启动

  1. 构建容器。在 Beego 应用程序的根目录下,运行以下命令:
docker build --build-arg MY_APP_PATH=github.com/your-username/your-app -t my-app-name:v1 .
  1. 运行容器。在 Beego 应用程序的根目录下,运行以下命令:
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

Change 가상 머신의 포트 8080은 호스트의 포트 8080에 매핑됩니다.

가상 머신에 할당된 메모리 크기는 2048MB입니다.

가상 머신에 할당된 CPU는 2코어입니다. 🎜🎜🎜Vagrant 가상 머신 시작🎜🎜이제 다음 명령을 실행하여 Vagrant 가상 머신을 시작합니다: 🎜rrreee🎜이 명령을 실행한 후 Vagrant는 Ubuntu 가상 머신을 자동으로 다운로드하여 설치합니다. 이 프로세스는 다소 시간이 걸릴 수 있습니다. 설치가 완료되면 다음 명령을 사용하여 SSH를 통해 Vagrant 가상 머신에 로그인할 수 있습니다: 🎜rrreee🎜Docker를 사용하여 Beego 애플리케이션 실행🎜🎜위 작업을 통해 가상 머신을 성공적으로 생성했습니다. Docker 실행 환경. 다음으로 Docker를 사용하여 Beego 애플리케이션을 실행할 수 있습니다. 다음 단계를 따라야 합니다. 🎜🎜🎜Vagrant 가상 머신에서 git clone 명령을 사용하여 Beego 애플리케이션 소스 코드를 다운로드합니다. 🎜🎜Beego 애플리케이션의 루트 디렉터리에 Dockerfile이라는 파일을 만듭니다. Dockerfile에는 Docker 컨테이너를 빌드하기 위한 몇 가지 지침이 포함되어 있습니다. 예는 다음과 같습니다. 🎜🎜rrreee🎜이 Dockerfile에서는 Golang-1.16을 기본 이미지로 사용하고 필요한 일부 종속성을 다운로드하여 설치합니다. 그런 다음 모든 소스 코드를 이미지에 복사하고 golang의 go install 명령을 사용하여 Beego 애플리케이션을 빌드 및 설치합니다. 컨테이너가 시작되면 Beego 애플리케이션이 진입점으로 시작됩니다🎜
    🎜컨테이너를 빌드합니다. Beego 애플리케이션의 루트 디렉터리에서 다음 명령을 실행합니다. 🎜🎜rrreee
      🎜컨테이너를 실행합니다. Beego 애플리케이션의 루트 디렉터리에서 다음 명령을 실행합니다. 🎜🎜rrreee🎜 이 명령에서는 현재 디렉터리를 /go/src/github.com/your-username/your-app에 바인딩합니다. > 디렉터리이므로 코드 변경 사항은 컨테이너 내에서 동기적으로 업데이트됩니다. 동시에 브라우저에서 컨테이너의 Beego 애플리케이션에 액세스할 수 있도록 컨테이너의 8080 포트를 호스트의 8080 포트에 매핑합니다. 🎜🎜요약🎜🎜위의 단계는 Vagrant + Docker를 사용하여 프로덕션 환경에서와 동일한 개발 및 테스트를 용이하게 하는 디버깅 환경을 구성하는 방법을 이해하는 데 도움이 될 수 있습니다. 올바른 로컬 개발 환경은 개발 및 프로세스 속도를 높이고, 한계를 깨고, 더 환상적인 아이디어를 혁신할 수 있습니다. 🎜

위 내용은 Beego에서 Vagrant 및 Docker를 사용한 로컬 개발 및 테스트의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.