DockerのCentOS7イメージにgo言語の最新版をインストール

プログラミング

DockerのCentOS7イメージにgo言語の最新版をインストールします。インストールに使うコンテナは以下で構築したものです。

CeontOS7のコンテナ起動

# コンテナのイメージ
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ssh-test            latest              646fe052e3c8        25 hours ago        288MB

# コンテナを立ち上げる
$ docker run -itd -p 2222:22 --name cent7-goland ssh-test:latest

# コンテナに入る
$ ssh -p 2222 root@localhost
root@localhost's password: 
[root@495f658e505e ~]# 

golangをダウンロード

公式からwgetでgolangをダウンロードする。

執筆時は1.14.6が最新なので、このリンクでダウンロードします。

# wgetをインストール
[root@495f658e505e ~] yum -y install wget

# 作業ディレクトリの作成
[root@495f658e505e ~] cd /etc
[root@495f658e505e ~] mkdir local
[root@495f658e505e ~] cd local
[root@495f658e505e ~] mkdir source
[root@495f658e505e ~] cd source

# ダウンロード
[root@495f658e505e ~] wget https://golang.org/dl/go1.14.6.linux-amd64.tar.gz

# ダウンロードの確認
[root@495f658e505e ~] ls
go1.14.6.linux-amd64.tar.gz

# 解凍する
[root@495f658e505e ~] tar xf go1.14.6.linux-amd64.tar.gz -C /usr/local/

# ソースを確認
[root@495f658e505e ~] ls /usr/local/go
api      bin              CONTRIBUTORS  favicon.ico  LICENSE  PATENTS  README.md   SECURITY.md  test
AUTHORS  CONTRIBUTING.md  doc           lib          misc     pkg      robots.txt  src          VERSION

環境変数の設定

環境変数を設定します。

# profileを編集
[root@495f658e505e ~] vi ~/.bash_profile

PATHに/usr/local/go/binを追加します。

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin:/usr/local/go/bin

export PATH
# profileを反映
[root@495f658e505e ~] source ~/.bash_profile

goプログラムを実行

# goのバージョン確認
[root@495f658e505e bin] go version
go version go1.14.6 linux/amd64

# 簡単なプログラムを作成
[root@495f658e505e bin] vi /usr/local/src/helloworld.go
package main

import "fmt"

func main(){
  fmt.Printf("Hello, World!")
}
# プログラムを実行する
[root@495f658e505e src]# go run /usr/local/src/helloworld.go
Hello, World!

pocketcode

30代のWEB系企業エンジニアです。毎回同じようなことを検索してしまうので、自分の備忘録的に書いています。サイトのデザインはQiita(https://qiita.com)さんに寄せています。