フリーランス チャレンジ!!

フリーランス チャレンジ!!

現役フリーランスエンジニアが書く雑記ブログ

DockerでGo言語(Golang)開発環境を5分で作成

スポンサーリンク

スポンサーリンク

f:id:ksakae1216:20180626183945p:plain

 

前回の記事でGo言語の基本文法をまとめました。

www.ksakae1216.com

 

せっかくだから動かしたいなと思い、Dockerで開発環境を作成しました! 

※「【Go言語 】基本文法まとめ - フリーランス チャレンジ!!」のソースは職場で書いたので自宅PCで開発環境を作成。

 

この記事のコマンドをコピペすれば5分で環境作って実行できるのでぜひお試しください。

※1箇所だけ、.bash_profileをviで修正するところがあります。

 

【目次】

 

5分で作成のステップ1(Dockerコンテナ作成と起動)

最新のCentOSをpullして起動します。

f:id:ksakae1216:20180626165852p:plain

【コマンド】

docker pull centos:latest

 

次にコンテナを起動しつつ接続します。

f:id:ksakae1216:20180626170736p:plain

【コマンド】

docker run -v /Users/sakae/Documents/dockerWork/dockerfile/golang/src:/home/ -it --name golang centos

※最後の"centos"はバージョンしてしないと"latest"と同じ意味になります。

 もしdocker pullコマンドで"docker pull centos:XX.XX"のようにバージョン指定した場合、ここのコマンドでもバージョン指定して下さい。

 

"-v"オプションで永続化します。

"/Users/sakae/Documents/dockerWork/dockerfile/golang/src"はローカルPCのパスとなるので適宜変更してください。

コロンで区切った"/home/"はコンテナ(CentOS)のパス。(そのままでOKです)

つまり、コンテナの"/home/"に置いてあるファイルをローカルPCからも参照できるようになります。

 

この永続化をする事でローカルPCのIDEでソースを見る事ができます。

 

5分で作成のステップ2(Go言語の開発環境作成)

さてコンテナ(CentOS)上に環境を作成します。

やることは下記の通り。

①事前準備

②Go言語インストール

③PATHの修正

④Gitからソースをクローンする

 

下記手順はコンテナ上で実行してください。

 

事前準備

【コマンド】

yum -y update
yum -y install wget
yum -y install git

 

※最新のCentOSですが念の為、yumをupdate。

 その後、wgetとgitをインストール

 

Go言語インストール

【コマンド】

wget -O go.tgz https://golang.org/dl/go1.10.3.linux-amd64.tar.gz
tar -C /usr/local -xzf go.tgz
rm -f go.tgz

 

2018年6月26日時点で最新のgoを取得し"/usr/local"に展開します。

 

PATHの修正

"~/.bash_profile"にGoのパス"/usr/local/go/bin"を追加。

f:id:ksakae1216:20180626180053p:plain

.bash_profileにパスを追加してください。(赤四角で囲ってる部分)

 

Gitからソースをクローンする

【コマンド】 

cd /home

git init
git clone https://github.com/ksakae1216/Golang.git

 

f:id:ksakae1216:20180626180354p:plain

"/home"に移動してもらってgitコマンドを実行。

すると"Golang"というディレクトリが作成されその配下にソースが配置されました。

 

これで無事、開発環境の作成が完了です!!

 

実行する 

【コマンド】

go run main.go

 

f:id:ksakae1216:20180626180825p:plain

 

はい、このように見事に実行されました!!

 

IDEで修正する

ちなみにDockerコンテナ作成時に永続化したおかげでローカルPCのIDEを使用する事ができます。

 

コンテナ上でクローンしたソースですがローカルPCの"/Users/sakae/Documents/dockerWork/dockerfile/golang/src"配下に"Golang"フォルダが作成されていてその下にソースも格納されているのでIDEで開く時はこのフォルダを指定してください。

 

今回IDEはVisual Studio Code(vscode)を使います。

f:id:ksakae1216:20180626181427p:plain

赤枠部分を修正しました。

 

再度実行しましょう。

f:id:ksakae1216:20180626181841p:plain

ちゃんと修正した通りになってますね。 

 

尚、コンテナを抜ける場合は、"exit"コマンドで抜けれてコンテナも停止します。

 

また、2回目以降コンテナを起動する場合は、下記のようにしてください。

【コマンド】

docker ps --all

上記コマンドでコンテナID(CONTAINER ID)を確認

 

docker start コンテナID

上記でコンテナ起動

 

docker attach コンテナID

上記でコンテナ接続

 

こんなイメージです。

f:id:ksakae1216:20180626182332p:plain

 

 

最後に

やっぱりDocker使うと簡単ですね!!

 

しかも、開発が終わればコンテナもイメージも削除してOK!

 

ソースはGitにあるから、またソース見たい時は今回と同じ手順で開発環境を復旧するだけ!