🥯

DockerでGoの環境構築

2024/05/25に公開

はじめに

Dockerを使用してGolangの開発環境を構築する手順について説明します。

1. プロジェクトディレクトリの作成

まず、プロジェクト用のディレクトリを作成します。

mkdir my-golang-app
cd my-golang-app

2. Golangソースコードの作成

次に、簡単なGolangプログラムを作成します。例えば、main.goというファイルを作成し、以下の内容を追加します。

package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}

3. Dockerfileの作成

プロジェクトのルートディレクトリにDockerfileを作成し、以下の内容を追加します。このDockerfileは、Golangの公式イメージを使用して、アプリケーションをビルドおよび実行します。

# ベースイメージとして公式のGolangイメージを使用
FROM golang:1.20-alpine

# 作業ディレクトリを設定
WORKDIR /app

# Go Modulesの使用を許可(必要な場合)
# ENV GO111MODULE=on

# ローカルのモジュールキャッシュを最適化(必要な場合)
# COPY go.mod .
# COPY go.sum .
# RUN go mod download

# ソースコードをコンテナにコピー
COPY . .

# アプリケーションをビルド
RUN go build -o myapp

# 実行可能ファイルをデフォルトのコマンドとして設定
CMD ["./myapp"]

4. Dockerイメージのビルド

ターミナルを開き、プロジェクトディレクトリに移動して、以下のコマンドを実行してDockerイメージをビルドします。

docker build -t my-golang-app .

5. Dockerコンテナの実行

イメージがビルドできたら、以下のコマンドを実行してコンテナを起動します。

docker run --rm my-golang-app

6. Docker Composeの使用(オプション)

複数のサービスを管理する場合や設定を簡素化するために、Docker Composeを使用することもできます。docker-compose.ymlファイルを作成し、以下の内容を追加します。

version: '3'
services:
  app:
    build: .
    command: ./myapp

次に、以下のコマンドを実行してDocker Composeを使用してアプリケーションを起動します。

docker-compose up --build

これにより、Docker Composeがイメージをビルドし、コンテナを起動します。

まとめ

このガイドでは、Dockerを使用してGolangの開発環境を構築する基本的な手順を示しました。これにより、Golangアプリケーションを簡単にビルドし、コンテナ化して実行できるようになります。必要に応じて、これらの基本的な設定を拡張して、より複雑な開発環境やデプロイメント環境を構築することができます。

Discussion