概要
- DockerでGo言語の開発環境を構築する方法について備忘録としてメモする。
環境情報
- OS:WSL2 Ubuntu-22.04
- Docker:24.0.7
- docker compose : v2.10.0
- Visual Studio Code:1.85.1
手順
1. 作業用フォルダにDockerfile、docker-compose.ymlを作成する
-
任意の作業用フォルダの直下に次の2ファイルを作成する
-
Dockerfile# ベースイメージ FROM golang:1.22rc1-alpine3.19 # コンテナ内のディレクトリ作成 RUN mkdir /go/src/app/ # 作業用ディレクトリ設定 WORKDIR /go/src/app/ # ホスト上のファイルをコンテナ作業用ディレクトリにコピー COPY ./ /go/src/app/※ベースイメージは公式より適宜選択すること
-
docker-compose.ymlversion: '3' services: go-app: build: ./ volumes: - ./:/go/src/app/ ports: - "8080:80" restart: always tty: true
-
2. Dockerコンテナを起動する
-
次のコマンドを実行し、Docker コンテナを起動する
docker compose up -d※コンテナ起動状態を確認したい場合
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES xxxxxxxxx godocker-go-app "/bin/sh" 18 minutes ago Up 4 seconds 0.0.0.0:8080->80/tcp, :::8080->80/tcp godocker-go-app-1
3. Visual Studio Code / Dev Containers で起動したコンテナにVisual Studio Codeをアタッチする
- (Dev Containers 未インストールの場合、)Visual Studio Code の
ExtensionsからDev Containersをインストールする - Visual Studio Code 左パネルの
Remote Explorerを選択する -
Dev Containersリストにあるgodocker-go-appを右クリックし、Attach in New Windowsを選択する(新しいVisual Studio Codeウィンドウがコンテナにアタッチされた状態で開かれる) - 新しいVisual Studio Codeウィンドウからソースファイルフォルダ
/go/src/appを開く
4. 動作確認用プログラムを作成する
-
動作確認用プログラム
main.goを作成・配置する。package main import "fmt" func main() { fmt.Println("Hello Go Lang!") }
※Hello Go Lang!と標準出力するのみのプログラム
5. 動作確認用プログラムを実行する
-
Visual Studio Codeのターミナルを起動する(Windows ショートカットキー
Ctrl + Shift + @) -
動作確認用プログラム
main.goをビルドする/go/src/app # go build main.go -
動作確認用プログラム
main.goを実行する/go/src/app # ./main Hello Go Lang!※
go run main.goでも可