おおくまねこ

職業プログラマーです。興味のある話題を書いています。

docker-compose コマンドをアップデートする

背景

docker-compose で環境構築するのに、新しいバージョンの docker-composer.yml を動かしたくなりました。 使っていた docker-compose のバージョンが 1.13 とかだったので、docker-composer.yml のバージョンは 3.0 くらいまでしか使えませんでした。 今回 3.7 以上をつかいたかったので、バージョンアップが必要ということで、最新のものをいれました。

いざアップデートしようにも「docker-compose アップデート」 とかで検索しても アップデートの結果だけしか書いていなくて、URLの所在やバージョンとか何やってるかがよくわからなかったので、 これを機会に履歴をまとめておこうと思いました。

環境

やったこと

  • Github の docker/compose レポジトリの最新リリースバージョンを確認
  • Github から実行バイナリのダウンロード
  • 実行権限の変更

アップデート方法

有志の方のまとめられた技術資料とかもありますが、 公式ドキュメントを参照しました。 docs.docker.jp

ここをみるとやり方としては以下のどれか * Github 上のリリースページからバイナリダウンロード * pip によるインストール * コンテナとしてのインストール

今回は「Github 上のリリースページからバイナリダウンロード」 を選択しました。 理由はこれといってはありませんが、 Githubリポジトリをみてリリースバージョンの確認がしやすかったからです。

リリースバージョンの確認は GIthub のレポジトリにtagを参照する、 または「Releases」の latest のバージョンで確認できます。 github.com

実施履歴

Github のダウンロードURLから実行バイナリをダウンロードしてきます。 ダウンロードするバージョンは 2020/08/29時点で最新の 1.26.2 をインストールしました。

// ダウンロード
$ sudo curl -L https://github.com/docker/compose/releases/download/1.26.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   651  100   651    0     0    109      0  0:00:05  0:00:05 --:--:--   188
100 11.6M  100 11.6M    0     0  44274      0  0:04:36  0:04:36 --:--:-- 87140

ダウンロードしただけだと実行権限がないはずなので、 モード変更で実行権限だけつけておきます。

// モードの変更
$ sudo chmod +x /usr/local/bin/docker-compose
$ ls -l /usr/local/bin/docker-compose
-rwxr-xr-x 1 root root 12254160  8月 30 01:17 /usr/local/bin/docker-compose

// バージョンの確認
$ docker-compose --version
docker-compose version 1.26.2, build eefe0d31

これで普段どおりにコマンドを使うことができるようになりました。

$ docker-compose -f docker-compose.yml up -d

最後に

docker-compose のような管理ツールのバージョン更新は忘れた頃にやってくる。

以上です。