DockerでGolangを動かす方法

※当サイトではアフィリエイト広告を利用しています

目次

はじめに

Docker上でGoを動かしたい方を対象に、その方法を書きます。

Dockerとは

Dockerは、コンテナ仮想化技術を提供するオープンソースのプラットフォームです。Dockerを使用すると、アプリケーションやサービスを実行するために必要なすべてのソフトウェア、ライブラリ、およびその他の依存関係を含めて、独立した環境を作成することができます。

Dockerは、軽量でポータブルなコンテナを提供し、異なる環境やプラットフォーム間でアプリケーションを移動できるようにします。開発者は、開発中のアプリケーションをコンテナ内でテストし、そのコンテナをサーバーにデプロイすることができます。

また、Dockerは、アプリケーションを実行するために必要なリソースを最小限に抑えることができます。これにより、コストを削減し、アプリケーションのパフォーマンスを向上させることができます。

Dockerは、オープンソースであり、コミュニティによって開発、維持されています。Docker Hubと呼ばれる公式のレジストリを使用することで、開発者は、既存のDockerイメージを使用したり、自分自身のイメージを作成したりすることができます。

Dockerインストール

DockerはこちらのDocker Desktopをダウンロードし、インストールしてください。

Docker
Docker Desktop Docker Desktop is collaborative containerization software for developers. Get started and download Docker Desktop today on Mac, Windows, or Linux.

DockerでGoを動かす手順

次の手順でDocker上でGoを動かせます。

  • Goプログラム作成
  • Dockerfileの作成
  • Dockerイメージをビルド
  • Dockerコンテナを実行する

Goプログラム作成

簡単な「Hello, World!」を表示するプログラムのサンプルを用意しました。

前提として「go mod init」でプロジェクトを作る必要があります。

package main

import "fmt"

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

Dockerfile作成

作成したGoプログラムを動かすためのDockerfileを用意します。

# Dockerイメージのベースとなるイメージを指定
FROM golang:latest

# コンテナ内で作業するディレクトリを指定
WORKDIR /app

# ホストOSのカレントディレクトリにあるすべてのファイルをコンテナ内の/appディレクトリにコピー
COPY . .

# Goの依存パッケージをダウンロード
RUN go mod download

# コンテナの起動時に実行するコマンドを指定
CMD ["go", "run", "main.go"]

Dockerfileは、Dockerイメージを構築するためのテキストファイルです。Dockerfileには、Dockerイメージを構築するために必要なコマンドが記述されています。

Dockerイメージをビルドする

次のコマンドでイメージをビルドします。

docker build -t my-go-app .




  1. Dockerコンテナを実行する

Dockerコンテナを実行する

次のコマンドでDockerコンテナ内でGoプログラムが実行され、”Hello, World!”というメッセージが表示されます。

docker run my-go-app
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

テック企業でプレイングマネージャーをしている Jun です。プログラミングの基礎をはじめ、組織やマネジメントについてブログを書いています。ハードスキル、ソフトスキルどちらも磨きたい方を対象にしています。一緒に学んで人生を楽しくしていきましょう!

目次