今回は Docker Compose で Hello World を出力する簡単な Go アプリケーションを起動する方法について説明します。
アプリケーションコード
シンプルな main 関数を用意します。
main.go
package main
func main() {
println("Hello World!")
}
Dockerfile
この Dockerfile を後述の Compose ファイルで指定します。
FROM golang:1.23.4
WORKDIR /usr/src/app
COPY . .
CMD ["go", "run", "main.go"]
Docker image
golang 1.23.4 の image を使用します。
WORKDIR
golang image の説明 のサンプルで /usr/src/app
を WORKDIR として指定しているので参考にして同様にしています。
Docker Compose
compose.yaml
services:
app:
build:
context: .
dockerfile: Dockerfile
volumes:
- ./:/usr/src/app
ports:
- "8080:8080"
起動
docker compose up
で起動します。
起動すると Hello World!
が出力された上で、app service が終了することを確認できます。
以下は実行結果の抜粋です。
app-1 | Hello World!
app-1 exited with code 0