Docker Init 으로 Go 프로젝트 초기화
이 단계에서는 새로운 Go 프로젝트를 초기화하고 docker init을 사용하여 필요한 Dockerfile 및 docker-compose.yml 파일을 생성합니다. 이를 통해 Go 애플리케이션을 컨테이너화하기 위한 시작점을 제공합니다.
먼저 Go 프로젝트를 위한 새 디렉토리를 생성해 보겠습니다. LabEx VM 에서 터미널을 열고 다음 명령을 실행합니다.
mkdir my-go-app
cd my-go-app
이 명령은 ~/project 디렉토리에 my-go-app이라는 새 디렉토리를 생성한 다음 현재 디렉토리를 my-go-app으로 변경합니다.
다음으로 Go 모듈을 초기화해야 합니다. 이렇게 하면 프로젝트의 종속성을 추적하는 go.mod 파일이 생성됩니다.
터미널에서 다음 명령을 실행합니다.
go mod init my-go-app
이 명령은 my-go-app이라는 새 Go 모듈을 초기화합니다. 다음과 유사한 출력을 볼 수 있습니다.
go: creating new go.mod: module my-go-app
go: to add module requirements and sums:
go mod tidy
이제 간단한 Go 애플리케이션을 만들어 보겠습니다. nano 편집기를 사용하여 my-go-app 디렉토리에 main.go라는 새 파일을 만듭니다.
nano main.go
main.go 파일에 다음 코드를 추가합니다.
package main
import "fmt"
func main() {
fmt.Println("Hello, Docker!")
}
이것은 "Hello, Docker!"를 콘솔에 출력하는 간단한 Go 프로그램입니다.
Ctrl+X, Y, Enter를 눌러 파일을 저장하고 nano 편집기를 종료합니다.
이제 docker init을 사용하여 Dockerfile 및 docker-compose.yml 파일을 생성합니다. 그러나 LabEx VM 에는 기본적으로 Docker Compose 가 설치되어 있지 않습니다. 먼저 설치해야 합니다.
curl을 사용하여 최신 버전의 Docker Compose 를 다운로드합니다.
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Docker Compose 바이너리를 실행 가능하게 만듭니다.
sudo chmod +x /usr/local/bin/docker-compose
Docker Compose 버전을 확인하여 설치를 확인합니다.
docker-compose --version
다음과 유사한 출력을 볼 수 있습니다.
docker-compose version 1.29.2, build xxxxxxx
이제 Docker Compose 가 설치되었으므로 docker init을 진행할 수 있습니다.
터미널에서 다음 명령을 실행합니다.
docker init
docker init은 Dockerfile 및 docker-compose.yml 파일을 구성하기 위해 일련의 질문을 합니다. 이 랩에 권장되는 답변은 다음과 같습니다.
- What do you want to call this application? (이 애플리케이션의 이름을 무엇으로 하시겠습니까?)
my-go-app
- What port is this app listening on? (이 앱은 어떤 포트에서 수신 대기합니까?)
3000 (이것은 자리 표시자이며, 이 간단한 예제에서는 실제로 포트를 사용하지 않습니다.)
- What is the main file to execute? (실행할 주요 파일은 무엇입니까?)
main.go
- Would you like to include the Docker Compose configuration? (Docker Compose 구성을 포함하시겠습니까?)
Yes
- Please choose a Docker Compose version: (Docker Compose 버전을 선택하십시오:)
2.0
이 질문에 답한 후 docker init은 my-go-app 디렉토리에 Dockerfile 및 docker-compose.yml 파일을 생성합니다.
cat 명령을 사용하여 생성된 파일의 내용을 볼 수 있습니다.
cat Dockerfile
cat docker-compose.yml
이 파일은 Docker 컨테이너에서 Go 애플리케이션을 빌드하고 실행하기 위한 기본 구성을 제공합니다. 다음 단계에서는 이러한 파일을 필요에 맞게 사용자 정의합니다.