Dockerを使ってGo言語の開発環境を構築する方法

この記事にはアフィリエイト広告が含まれています

Go言語の開発環境を構築するのはそれほど難しくありません。

ソースファイルをダウンロードして適当なディレクトリに展開するか、インストーラを実行するだけです。
(場合によってはパスを通す必要があります)

しかし、ローカル環境にはあまり手を加えたくないというシチュエーションもあるかと思います。
そういう場合はDockerを使うと便利です。

この記事ではDockerを使ってGo言語の開発環境を構築する方法を説明します。

目次

前提条件

  • Dockerが動いている環境であること

構築手順

STEP
作業用ディレクトリの作成

作成したプログラムなどを配置する作業用のディレクトリを作成します。

# コマンド例
mkdir -p /home/hoge/docker/golang/src
STEP
作業用ディレクトリに移動

STEP1で作成した作業用ディレクトリに移動します。

cd /home/hoge/docker/golang/src
STEP
コンテナの作成

下記のコマンドを実行してコンテナを作成します。

# コマンド例
sudo docker run -v "$PWD":/usr/src -w /usr/src -itd --name golang-1 golang bash

–nameの後の「golang-1」がコンテナ名になります。

下記のコマンドを実行してコンテナが作成されているかを確認します。

sudo docker container ps

# 結果の例
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
62abcd23d93a golang "bash" 55 seconds ago Up 54 seconds golang-1

NAMESのところが–nameの後に指定した名称になっているものがあれば大丈夫です。

以上でGo言語の開発環境の構築は完了です。

使用例

簡単なプログラムを作って実際に使ってみます。

以下は全てホスト側での操作になります。

STEP
プログラムソースの配置

構築手順STEP1で作成した作業用ディレクトリに移動して下記のソースをmain.goとして保存します。

package main

import "fmt"

func main() {
    fmt.Println("Hello, world!")
}
STEP
プログラムの実行

STEP1で配置したプログラムソースを下記のコマンドで実行させます。

sudo docker exec golang-1 go run main.go

# 結果
Hello, world!

「golang-1」は構築手順STEP3で–nameの後に指定したものになります。

「Hello, world!」と表示されたら問題なく実行されています。

STEP
プログラムのビルド

STEP1で配置したプログラムソースを下記のコマンドでビルドして実行可能なファイルを生成します。
今回の例では「hello」というファイル名にします。

sudo docker exec golang-1 go build -o hello main.go

「golang-1」は構築手順STEP3で–nameの後に指定したものになります。

この「hello」というファイルはビルドしたアーキテクチャ上で実行可能なファイルです。
同一アーキテクチャであればGo言語がインストールされていない環境でも実行させることができます。

作業用ディレクトリに「hello」というファイルが生成されているので実行してみます。

./hello

# 結果
Hello, world!

「Hello, world!」と表示されたら問題なく生成&実行されています。


まとめ

不要になった場合はコンテナやイメージを削除するだけで済むのでちょっと使いたいときなどに便利だと思います。

この記事がGo言語の開発環境をどうしようか悩んでいる方の参考になれば幸いです。


広告


この記事が気に入ったら
フォローしてね!

  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次