はじめに
Go言語の開発環境を構築する場合、パソコンに直接Goをインストールする、Dockerで仮想環境を構築するといった方法があります。
直接インストールする方法はシンプルで小規模な開発では手軽に始められます。しかし、この方法では開発環境の再現性や依存関係の管理が難しくなることがあります。
一方Dockerでは、これらの課題を効率的に解決できます。
この記事では、Go言語の開発環境をDocker(docker-compose)で構築していきます。
前提条件
Dockerがインストールされていること。
実行環境
Windows 10 Pro
Docker Desktop v4.23.0
ファイル構成図
project
├── docker-compose.yml
└── hello.go
docker-compose.yml
version: '3'
services:
golang:
image: golang:1.22.3-alpine
container_name: work_golang
volumes:
- type: bind
source: "."
target: "/src"
working_dir: "/src"
tty: true
hello.go
Goの実行確認は定番の「Hello World」。
package main
import "fmt"
func main() {
fmt.Println("Hello World!!")
}
Dockerコンテナ起動
Dockerコンテナを起動。
docker compose up -d
Dockerコンテナへログイン。
docker exec -it work_golang /bin/ash
ログインに成功すると、Dockerコンテナのシェル表示となる。
/src #
Go実行
ソースコードのビルド。
go build hello.go
ビルド成功すると、helloファイルが作成される。
project
├── docker-compose.yml
+├── hello
└── hello.go
ビルドファイルの実行。
./hello
「Hello World!!」が表示できた!!
/src # go build hello.go
/src # ./hello
Hello World!!
/src #
おわりに
無事、Goの開発環境をdocker composeで構築することができました。
VS CodeのDevContainterを使用してリモートデバッグする設定も行い方はこちらの記事をご確認ください。
また、Goの学習記録についてこちらの記事にまとめていますので、興味のある方はぜひご覧ください。
コメント