LoginSignup
29
27

Ubuntu22.04へDockerとDocker Compose v2 をインストール

Last updated at Posted at 2022-08-20

はじめに

Ubuntu 22.04 LTS をメインで使用するようになったので、ついでに今どきのDocker & Docker Composeの導入方法を調べてみました。

以下の記事の内容をベースにまとめなおしています。

環境

  • インストール先

    • Ubuntu Server 22.04.1 LTS (x86_64)
      • デスクトップ環境は使用していません
  • インストールするもの

    • Docker
    • Docker Compose

手順

デスクトップ環境がある場合は、Docker Desktop on Linux の導入が推奨されるようになったようですが、デスクトップ環境は利用していないので無視します。
ここでは以下の手順を記載します。

  • Docker のリポジトリからDocker をインストール
  • Docker のリポジトリからCompose をインストール (手軽に導入したい場合はこちら)
  • 手動で Compose をインストール(最新版を利用したい場合はこちら)

Composeの導入方法はどちらか1つを実行すればいいです。

Docker のリポジトリからDocker をインストール

参考サイト記載の手順で実施します。ただし手動ではapt-getよりもaptを使うのが好みなのでそこは変更しています。
以前と比較してGPGキーの保存先フォルダが変わったほか、アーキテクチャを自動判別するようになっています。

Dockerのリポジトリを登録してインストール
# 依存パッケージインストール
sudo apt update
sudo apt install \
  ca-certificates curl gnupg lsb-release

# Dockerの公式GPGキーを追加
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
  | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# Dockerリポジトリ登録
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.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 をインストール

手軽に導入したい場合はこちらがおすすめ。上で登録したリポジトリから Conpose v2 が簡単にインストールできます。

Docker のリポジトリからCompose をインストール
sudo apt install docker-compose-plugin
動作確認(2022.8.20時点)
$ docker compose version
Docker Compose version v2.6.0

手動で Compose をインストール

リポジトリで導入できるバージョンより新しいものを利用したい場合はこちらをどうぞ。
ファイルをダウンロードして指定された場所に保存するだけなのでさほど手間はかかりませんが、バージョンアップは自分で対応する必要があります。

自分だけが使用する場合(x86_64用)
# DOCKER_CONFIG 変数に値が入っていればそのまま、値が入っていなければ $HOME/.docker を代入する
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
# インストール先ディレクトリを作成する
mkdir -p $DOCKER_CONFIG/cli-plugins
# リリースモジュールをダウンロードし、docker-composeという名前でインストール先に保存する
curl -SL \
  https://github.com/docker/compose/releases/download/v2.10.0/docker-compose-linux-x86_64 \
  -o $DOCKER_CONFIG/cli-plugins/docker-compose
# docker-composeを実行可能にする
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
すべてのユーザが使用する場合(x86_64用)
# インストール先ディレクトリを作成する
sudo mkdir -p /usr/local/lib/docker/cli-plugins
# リリースモジュールをダウンロードし、docker-composeという名前でインストール先に保存する
sudo curl -SL \
  https://github.com/docker/compose/releases/download/v2.10.0/docker-compose-linux-x86_64 \
  -o /usr/local/lib/docker/cli-plugins/docker-compose
# docker-composeを実行可能にする
sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
動作確認
$ docker compose version
Docker Compose version v2.10.0
  • 他のバージョンを使いたい場合は、curlに指定したURLのバージョン部分を変更して手順を再実行します
    (つまりは docker-composeファイルの上書き)
  • curlに指定したURLは、GitHUBのリリースページ掲載ファイルのダウンロードURLです
  • Docker Compose は 以下の5つの場所にインストール可能です。
    【参考】 "Where to get Docker Compose". Github.
    • $HOME/.docker/cli-plugins
    • /usr/local/lib/docker/cli-plugins
      OR /usr/lib/docker/cli-plugins
    • /usr/local/libexec/docker/cli-plugins
      OR /usr/libexec/docker/cli-plugins

Compose優先順位について

Compose導入の3つの手順をすべて実施した場合の、実行時の優先順位を確認したので載せておきます。手順ごとに導入バージョンを変更して確認しました。

  1. 手動で Compose v2.10.0 をインストール(自分だけが使用する場合)
  2. 手動で Compose v2.9.0 をインストール(すべてのユーザが使用する場合)
  3. Docker のリポジトリからCompose v2.6.0 をインストール
1,2,3すべて実施した場合の結果
# sudo なしの場合は1で導入したバージョンが表示
$ docker compose version
Docker Compose version v2.10.0

# sudo ありの場合は2で導入したバージョンが表示
$ sudo docker compose version
Docker Compose version v2.9.0

1,2,3 の手順全て実施した場合の他にも、どんなパターンの時にどの手順で導入されたバージョンが表示されるかを上の要領で確認しました。その結果をまとめたものがこちら。

1 2 3 sudoなし sudoあり
1で導入 2で導入
1で導入 2で導入
1で導入 3で導入
1で導入 エラー1
2で導入 2で導入
2で導入 2で導入
3で導入 3で導入

結果として、1 > 2 > 3 の優先順位となりました。ただし、sudoをつけた場合は1の手順で導入したものは無視されるようです。
1 の手順を使用する場合は、sudoなしでdockerを実行できるようにしておいたほうがよさそうです。(やり方はググってください!)

おわりに

Docker Compose v2 はaptで導入できるようになったので、更新がだいぶ楽になりましたね!
今回はUbuntu Server 22.04 で確認しましたが、 こちらの記載 によるとDocker のリポジトリからaptでインストールする手順はバージョン18.04, 20.04, 21.10 でも使えるようです。x86_64だけでなくamd64, armhf, arm64, s390x アーキテクチャでもよさそうですよ。

  1. compose はdockerコマンドではない(docker: 'compose' is not a docker command.)といわれる

29
27
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
29
27