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

docker

f:id:ksakae1216:20180626183945p:plain

 

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

www.ksakae1216.com

 

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

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

 

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

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

 

  • 実行する 
  • IDEで修正する
  • 最後に
  •  

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

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

    f:id:ksakae1216:20180626165852p:plain

    【コマンド】

    docker pull centos:latest

     

    次にコンテナを起動、ローカルディレクトリとdockerの”/home”をリンクしてdockerに接続します。

    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にあるから、またソース見たい時は今回と同じ手順で開発環境を復旧するだけ! 

    コメント

    タイトルとURLをコピーしました