오늘날의 소프트웨어 개발에서 컨테이너화는 매우 인기 있는 배포 방법이 되었습니다. Docker는 가장 널리 사용되는 컨테이너화 도구 중 하나입니다. Docker에서는 다양한 프로그래밍 언어를 사용하여 애플리케이션을 만들고 이를 다양한 클라우드 플랫폼에 배포할 수 있습니다. 오늘은 Docker를 사용하여 Golang으로 작성된 애플리케이션을 배포하는 방법에 중점을 둘 것입니다.
Golang은 특히 웹 애플리케이션 및 서버 측 애플리케이션 개발에 매우 인기 있는 최신 프로그래밍 언어입니다. 고성능, 크로스 플랫폼 지원, 내장된 동시성 지원과 같은 많은 고급 기능으로 인해 Golang 개발자의 수가 증가하고 있습니다. 이로 인해 Golang은 최신 애플리케이션을 작성하는 데 매우 이상적인 프로그래밍 언어가 되었습니다. Docker를 사용하여 Golang 애플리케이션을 배포하는 방법을 살펴보겠습니다.
먼저 Docker Hub에서 공식 Golang 이미지를 가져와야 합니다. 매우 간단합니다. 터미널에 다음 명령을 입력하기만 하면 됩니다.
docker pull golang:latest
이렇게 하면 최신 버전의 Golang 이미지가 다운로드되어 설치됩니다. 다운로드가 진행되는 동안 인내심을 갖고 인터넷 연결이 양호한지 확인하세요.
다음으로 새로운 Golang 애플리케이션을 만들어 보겠습니다. 여기에서는 환영 메시지를 표시하는 간단한 웹사이트를 만들어 보겠습니다. 먼저 폴더를 만들고 그 안에 main.go라는 새 파일을 만듭니다.
mkdir myapp cd myapp touch main.go
이제 즐겨 사용하는 코드 편집기를 열고 main.go 파일을 엽니다. 그런 다음 다음을 입력하세요.
package main import ( "fmt" "log" "net/http" ) func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "欢迎来到我的网站!") }) log.Fatal(http.ListenAndServe(":8080", nil)) }
이 프로그램은 Golang의 표준 라이브러리를 사용하여 간단한 웹사이트를 만들고 루트 URL을 방문하는 모든 사람에게 환영 메시지를 보냅니다. Golang 컴파일러를 사용하여 바이너리로 컴파일할 수 있습니다. 하지만 여기서는 Docker를 사용하여 빌드하고 실행하겠습니다.
다음으로 애플리케이션을 빌드하고 실행하는 데 필요한 모든 단계가 포함된 Dockerfile을 만들어야 합니다. myapp 폴더에 새 Dockerfile을 만듭니다.
touch Dockerfile
다음으로 Dockerfile을 열고 다음을 입력합니다.
FROM golang:latest WORKDIR /go/src/app COPY . . RUN go get -d -v ./... RUN go install -v ./... CMD ["app"] EXPOSE 8080
이 Dockerfile이 수행하는 작업을 살펴보겠습니다.
FROM golang: 최신
은 다음을 사용합니다. 이전에 기본 이미지로 다운로드한 Golang 공식 이미지입니다. FROM golang:latest
将使用我们之前下载的Golang官方镜像作为基本镜像。WORKDIR /go/src/app
将创建一个名为go/src/app的工作目录。COPY . .
将整个应用程序复制到工作目录中。RUN go get -d -v ./...
将下载并安装所有依赖项(如果有的话)。RUN go install -v ./...
将编译我们的应用程序,并将二进制文件放置在/bin/app目录中。CMD ["app"]
将运行我们刚刚编译的二进制文件作为容器的主进程。EXPOSE 8080
WORKDIR /go/src/app
은 go/src/app이라는 작업 디렉터리를 생성합니다. COPY .
전체 애플리케이션을 작업 디렉터리에 복사합니다.
RUN go get -d -v ./...
는 모든 종속 항목(있는 경우)을 다운로드하고 설치합니다.
RUN go install -v ./...
는 애플리케이션을 컴파일하고 /bin/app 디렉토리에 바이너리를 배치합니다.
CMD ["app"]
는 방금 컴파일한 바이너리를 컨테이너의 기본 프로세스로 실행합니다.
EXPOSE 8080
은 컨테이너의 8080 포트를 노출하므로 호스트 시스템에서 이 포트에 액세스할 수 있습니다. 🎜🎜🎜이제 Docker 이미지를 빌드할 준비가 되었습니다. 이렇게 하려면 터미널에서 myapp 폴더로 이동하여 다음 명령을 실행합니다. 🎜docker build -t myapp .🎜 이렇게 하면 방금 만든 Dockerfile을 사용하여 myapp이라는 새 이미지가 빌드됩니다. 빌드가 완료되면 이를 컨테이너로 실행할 수 있습니다. 🎜
docker run -p 8080:8080 myapp🎜 이렇게 하면 myapp이라는 새 컨테이너가 생성되고 호스트의 8080 포트에 매핑됩니다. 브라우저에서 http://localhost:8080을 열면 환영 메시지를 볼 수 있습니다. 🎜🎜이제 Docker를 사용하여 Golang 애플리케이션을 성공적으로 배포했습니다. 우리는 자체 코드를 가져와 컨테이너에 구축하고 모든 클라우드 플랫폼에 배포할 수 있습니다. Docker의 성능과 이식성은 컨테이너화된 애플리케이션을 미래 트렌드로 만들어 애플리케이션 개발자가 비즈니스 로직 구현에 더 집중할 수 있게 해줍니다. 🎜
위 내용은 Docker를 사용하여 Golang을 배포하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!