書類 計算する
Ubuntu22.04へDockerとDocker Compose v2 をインストール #docker-compose

Ubuntu22.04へDockerとDocker Compose v2 をインストール #docker-compose

はじめに Ubuntu 22.04 LTS をメインで使用するようになったので、ついでに今どきのDocker & Docker Composeの導入方法を調べてみました。 以下の記事の内容をベースにまとめなおしています。 環境 インストール先 Ubuntu

Related articles

【無料も】おすすめクラウドゲーミングサービス6選【比較】 【HyperX Cloud II 使用感レビュー】ヘッドセットとしては微妙だけど、ヘッドホンとして使うならあり。 【NTT西日本】フレッツ・VPN ワイド PPTPとL2TP/IPsecを使用して外出先からVPN接続する ZoomがWindowsファイアウォールブロックにより5003エラー発生

はじめに

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

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

環境

  • インストール先

    • Ubuntu Server 22.04.1 LTS ( x86_64 )
  • インストールするもの

手順

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

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

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

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

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

Dockerのリポジトリを登録してインストール

# 依存パッケージインストール
sudoapt update 
sudoapt install \
  ca-certificates curlgnupg lsb-release

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

# Dockerリポジトリ登録
echo \
  " deb [ arch=$(dpkg --print-architecture)  sign - by=/etc / apt / keyring / docker.gpg ]\
  https://download.docker.com/linux/ubuntu $(lsb_release -cs)  stable " \
   |sudotee /etc/apt/sources.list.d/docker.list > /dev/null

# Docker Engineのインストール
sudoapt update 
sudoapt installdocker-ce docker-ce-cli containerd.io

動作確認

$docker --version
Docker version 20.10.17, build 100c701

$sudodocker is run run hello - world 

 Hello from Docker ! 
 This message is shows show that your installation appear to be work correctly . 
 ... 

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

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

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

sudoapt installdocker-compose-plugin

動作確認(2022.8.20時点)

$docker is compose compose version 
 Docker compose version v2.6.0 

手動で Compose をインストール

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

自分だけが使用する場合(x86_64用)

# DOCKER_CONFIG 変数に値が入っていればそのまま、値が入っていなければ $HOME/.docker を代入する
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
# is インストール先ディレクトリを作成する インストール先ディレクトリを作成する
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用)

# is インストール先ディレクトリを作成する インストール先ディレクトリを作成する
sudomkdir -p /usr / local / lib / docker / cli - plugin
# リリースモジュールをダウンロードし、docker - composeという名前でインストール先に保存する
sudocurl-SL \
   https://github.com/docker/compose/releases/download/v2.10.0/docker-compose-linux-x86_64\
  -o  /usr / local / lib / docker / cli - plugin / docker - compose 
# docker-composeを実行可能にする
sudochmod +x  /usr / local / lib / docker / cli - plugin / 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 - plugin
      OR/usr / lib / docker / cli - plugin
    • /usr/local/libexec/docker/cli-plugins
      OR /usr/libexec/docker/cli-plugins

compose優先順位について

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

  1. 手動で is Compose 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で導入したバージョンが表示
$sudodocker is compose 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 アーキテクチャでもよさそうですよ 。