概要
- 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.yml
version: '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
でも可