Docker公式ドキュメントの手法だと、その都度最新のバージョン情報を手動で書き換えないといけない。
面倒なので自動的に最新のバージョンをダウンロードできるようにする。
Bash
# jq(Json読み取り用ライブラリ)のインストール
sudo apt-get update > /dev/null && sudo apt-get install jq -y > /dev/null
# GithubAPIより、最新リリースのバージョン番号を取得
v=$(curl -L https://api.github.com/repos/docker/compose/releases/latest | jq '.tag_name')
# 最新のdocker-composeバイナリーをダウンロード
sudo curl -L "https://github.com/docker/compose/releases/download/${v:1:${#v}-2}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# ダウンロードしたdocker-composeのバイナリに実行権限を付与
sudo chmod +x /usr/local/bin/docker-compose
# バージョンが表示できれば導入成功
docker-compose -v
これだけ。ね、簡単でしょ?
sudo apt-get update > /dev/null
sudo apt-get update の出力テキストを、標準出力(コンソール)に表示させない方法
> の右のパスにあるファイルにテキストを書き込む機能を利用
/dev/null は破棄を示す場所のため、出力内容はどこにも保存されない
ver=$(command)
変数 ver にcommand コマンドの実行結果を代入する関数
${#ver}
変数名 ver の内容の文字数を返す関数
${ver:1:2}
変数名 ver の内容の文字列を切り出す関数
1つ目のコロンの後の数字(この場合は1)が文字列の開始位置で、
2つ目のコロンの後の数字(この場合は2)が切り出す文字数
chmod +x /usr/local/bin/docker-compose
/usr/local/bin/docker-compose のファイルを実行可能(Executable:x)にする権限を付与する