はじめに
気が付いたらDocker Compose のv2がリリースされていた。V1と比較して
- PythonではなくGolangベース
-
docker-compose
ではなくdocker compose
で実行 - インストール手順も変更
という変更点があって、興味がわいたので試しにインストールしてみた。
ついでに、Docker本体も推奨されている手順でインストールしなおしてみた。
そのメモ。
2022.8.21 追記
より簡単な導入手順が公開されていたので、この記事の内容を改めてまとめなおしました。
Ubuntu 22.04 向けとありますが、20.04 でも導入できますので以下のリンクをご参照ください。
環境
- インストール先
- Ubuntu Server 20.04 (x86_64)
- インストールするもの
- Docker 最新版
- Docker Compose version v2.6.1
手順
Docker インストール
【参考】"Install Docker Engine on Ubuntu". docker docs.
# 依存パッケージインストール
sudo apt install \
apt-transport-https ca-certificates curl gnupg lsb-release
# Dockerの公式GPGキーを追加
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# Dockerリポジトリ登録
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Docker Engineのインストール
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
$ docker --version
Docker version 20.10.17, build 100c701
$ sudo docker run hello-world
...
Hello from Docker!
This message shows that your installation appears to be working correctly.
...
Docker Compose v2インストール (本題)
【参考】"Where to get Docker Compose". Github.
# インストール先ディレクトリがなければつくる。説明を楽にするためにカレントディレクトリも変更
sudo mkdir -p /usr/local/libexec/docker/cli-plugins
cd /usr/local/libexec/docker/cli-plugins
# リリースモジュールをダウンロードし、docker-composeという名前でインストール先に保存
sudo curl -L https://github.com/docker/compose/releases/download/v2.6.1/docker-compose-linux-x86_64 -o docker-compose
# docker-composeを実行可能にする
sudo chmod +x docker-compose
$ docker compose version
Docker Compose version v2.6.1
- 最新版を使いたい場合は、URLのバージョン部分を変更してDocker Composeのインストール手順を再実行(つまりは docker-composeファイルを上書き)すればよい。 利用可能なバージョンはこちらを参照。
- v2.0.0とv2.0.1以降で、リリースモジュールのダウンロードURLの末尾が異なっているので注意。
- 旧)docker-compose-linux-amd64 --> 新)docker-compose-linux-x86_64
補足:Docker Composeのインストール先について
参考サイトにはDocker Composeのインストール先として以下の5つのディレクトリが挙げられている。
$HOME/.docker/cli-plugins
/usr/local/lib/docker/cli-plugins
/usr/local/libexec/docker/cli-plugins
/usr/lib/docker/cli-plugins
/usr/libexec/docker/cli-plugins
自分の環境では5番目のディレクトリだけが存在していたが、ここは触りたくなかったので3番目のディレクトリを新規作成した。
何も考えずに1番目のディレクトリにインストールしてもいいと思う。
1番目のディレクトリへインストールする場合はsudoも不要なのでなにかと楽かも。
おわりに
今回の記事はインストールのみ。そのうち本格的に使ってみる。 1
なお、Docker Composeのファイル名変更せずに保存すると以下のように怒られる。
ファイル名は上記手順の通りdocker-compose
という名前で保存すること。
$ docker
Usage: docker [OPTIONS] COMMAND
...
Invalid Plugins:
compose-linux-x86_64 plugin candidate "compose-linux-x86_64" did not match "^[a-z][a-z0-9]*$"
-
2022.7.16現在、composeは重宝しています。 ↩