前回の記事でGo言語の基本文法をまとめました。
せっかくだから動かしたいなと思い、Dockerで開発環境を作成しました!
※「【Go言語 】基本文法まとめ – フリーランス チャレンジ!!」のソースは職場で書いたので自宅PCで開発環境を作成。
この記事のコマンドをコピペすれば5分で環境作って実行できるのでぜひお試しください。
※1箇所だけ、.bash_profileをviで修正するところがあります。
5分で作成のステップ1(Dockerコンテナ作成と起動)
最新のCentOSをpullして起動します。
【コマンド】
docker pull centos:latest
次にコンテナを起動、ローカルディレクトリとdockerの”/home”をリンクしてdockerに接続します。
【コマンド】
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”を追加。
.bash_profileにパスを追加してください。(赤四角で囲ってる部分)
Gitからソースをクローンする
【コマンド】
cd /home
git init
git clone https://github.com/ksakae1216/Golang.git
“/home”に移動してもらってgitコマンドを実行。
すると”Golang”というディレクトリが作成されその配下にソースが配置されました。
これで無事、開発環境の作成が完了です!!
実行する
【コマンド】
go run main.go
はい、このように見事に実行されました!!
IDEで修正する
ちなみにDockerコンテナ作成時に永続化したおかげでローカルPCのIDEを使用する事ができます。
コンテナ上でクローンしたソースですがローカルPCの”/Users/sakae/Documents/dockerWork/dockerfile/golang/src”配下に”Golang”フォルダが作成されていてその下にソースも格納されているのでIDEで開く時はこのフォルダを指定してください。
今回IDEはVisual Studio Code(vscode)を使います。
赤枠部分を修正しました。
再度実行しましょう。
ちゃんと修正した通りになってますね。
尚、コンテナを抜ける場合は、”exit”コマンドで抜けれてコンテナも停止します。
また、2回目以降コンテナを起動する場合は、下記のようにしてください。
【コマンド】
docker ps –all
上記コマンドでコンテナID(CONTAINER ID)を確認
docker start コンテナID
上記でコンテナ起動
docker attach コンテナID
上記でコンテナ接続
こんなイメージです。
最後に
やっぱりDocker使うと簡単ですね!!
しかも、開発が終わればコンテナもイメージも削除してOK!
ソースはGitにあるから、またソース見たい時は今回と同じ手順で開発環境を復旧するだけ!
コメント