2026年8月29日

2026年8月29日

DockerでGoアプリをビルド・デプロイする方法

はじめに

Go言語はシンプルで高速なプログラミング言語として知られており、現代のWebアプリケーション開発において広く使用されています。Dockerはコンテナ化のプラットフォームであり、Goアプリケーションを効率的にビルド・デプロイするためのツールとしても役立ちます。本記事では、Dockerを使用してGoアプリをビルドし、その結果をデプロイする手順について説明します。

手順・設定方法

ステップ1: Dockerイメージを作成する

まず、Dockerfileを作成し、Goアプリケーションのビルドに必要な依存関係を定義します。この段階では、Go言語のインストールと必要最小限のパッケージ管理を設定します。

# Go言語のインストールと基本的なツールの設定
RUN apt-get update && \
    apt-get install -y --no-install-recommends golang

# Dockerfileを作成し、Goアプリケーションのビルドコマンドを記述
COPY . /go/src/myapp
WORKDIR /go/src/myapp
RUN go mod download
RUN go build -o main .

ステップ2: Dockerイメージを構築する

Dockerfileが完成したら、docker buildコマンドを使用してDockerイメージを作成します。

# Dockerイメージのビルド
docker build -t my-go-app .

ステップ3: Goアプリケーションを実行する

Dockerコンテナを起動し、Goアプリケーションを実行します。この段階では、必要に応じて環境変数やポートマッピングを設定します。

# Dockerコンテナの起動
docker run -d --name my-go-app-container -p 8080:8080 -e ENV_VAR=my_value my-go-app

ステップ4: 実践/トラブルシュート/監視

実際の運用では、Goアプリケーションの健康状態をモニタリングし、問題が発生した場合は迅速に対応することが重要です。 Docker Composeを使用して複数のコンポーネント間での連携を管理することも可能です。

# docker-compose.ymlファイルでサービス定義
version: '3'
services:
  my-go-app:
    image: my-go-app
    ports:
      - "8080:8080"
    environment:
      ENV_VAR: "my_value"

注意事項

  • Goアプリケーションの依存関係は、go mod downloadコマンドを使用して一括でインストールします。
  • Dockerコンテナはリソース効率が高く、スケーラビリティも高いため、大量のデータや複雑なフロントエンド構成が必要ない場合に特に有用です。
  • 安全性上の観点から、Dockerイメージとコンテナの各層で適切な権限管理を行うことが重要です。

まとめ

1. Go言語のインストール: Go言語をDocker内で実行可能な状態に設定します。

2. Dockerfileの作成: Goアプリケーションのビルドと必要なパッケージのインストール方法を定義します。

3. Dockerイメージの構築: Dockerイメージを作成し、Goアプリケーションを含めます。

4. 実行環境の設定: Dockerコンテナ内でGoアプリケーションを起動するための設定を行います。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ