Ubuntuにdockerをインストールする

  1. Ubuntuにdockerをインストールする

Ubuntuにdockerをインストールする場合、dockerのドキュメントに記載されている方法を利用することができます。ここで、docker-ceをインストールする場合、現在はx86_64(or amd64)、armhf、arm64(or aarch64)、ppc64el(IBM Power Systems)がサポートされています。

実は、このドキュメントに書かれている方法が二つあります。一つは apt コマンドを使ってリポジトリーからインストールする方法で、もう一つは get-docker.sh スクリプトを使う方法となっています。

2. リポジトリーからのインストール

リポジトリーからインストールする場合は、次の手順となります。

2.1 パッケージインデックスの更新

最帆に、まず apt update を実行します。

$ sudo apt update

2.2 前提ソフトウェアのインストール

続けて、前提ソフトウェアをインストールします。

$ sudo apt install -y ¥
apt-transport-https ¥
ca-certificates ¥
curl ¥
gnupg-agent ¥
software-properties-common

2.3 GPG公開鍵のインストール

docker公式のGPG公開鍵をインストールします。

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

ここで、公開鍵のフィンガープリントを確認しておきます。

$ sudo apt-key fingerprint 0EBFCD88
pub rsa4096 2017-02-22 [SCEA]
       9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid           [ unknown] Docker Release (CE deb) <docker@docker.com>
sub   rsa4096 2017-02-22 [S]

2.4 aptリポジトリーの設定

ここで、aptコマンド用のリポジトリーを設定しますが、dockerではstable、edger、testおよびnightlyが公開されています。

ドキュメントの例ではstableとして、以下のように設定しています。

$ sudo add-apt-repository ¥
    "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

ここで、armhf と arm64 も記載されていますが、例えば Raspberry Pi 用も正式リリースとなった Ubuntu を使用している場合には、以下のようになります。

armhf
$ sudo add-apt-repository ¥
    "deb [arch=armhf] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
arm64
$ sudo add-apt-repository ¥
"deb [arch=arm64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

ここで、Raspberry Pi で Raspberry Pi OS を使っている場合には、上記 2.3 GPG公開鍵のインストール、および 2.4 aptリポジトリーの設定で使用していた “ubuntu” を “raspbian” に変更します。

さらに、現在はまだベータ版となっている Raspberry Pi OS の 64bit版の場合は /etc/os-release を見ても ID=debian ですから、debian をそのまま使うこともできます。この場合には、上記 2.3 GPG公開鍵のインストール、および 2.4 aptリポジトリーの設定で使用していた “ubuntu” を “debian” に変更します。

2.5 docker-ceのインストール

準備ができましたので、以下のようにしてdocker-ceをインストールします。

$ sudo apt install -y docker-ce docker-ce-cli containerd.io

3. スクリプトでのインストール

もう一つの方法で、スクリプトからインストールする場合は、以下の方法となります。

$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh

実は、何のためにこの文書を書いたのかと言いますと、上記リポジトリーを利用した場合にはstableが例として使われていたのですが、スクリプトを利用した場合にはedgeが利用されていました。

このため、どちらの方法でインストールするかによってはバージョンが異なる可能性があります。もちろん、厳密にバージョンを指定する場合には、公式ドキュメントに書かれている方法でバージョンを指定してインストールすることになります。

最初にこの文書を書いた頃には、上記のような状況でしたが最新のスクリプトを見ると、以下のように修正されています。

# The channel to install from:
#   * nightly
#   * test
#   * stable
#   * edge (deprecated)
DEFAULT_CHANNEL_VALUE="stable"

既に edge は廃止されていて、stable が既定値となっていますから、現在ではリポジトリーからのインストールでも、スクリプトを使用したインストールでも stable として同じバージョンが使用されることになります。

もちろん、厳密にバージョンを指定する場合には、公式ドキュメントに書かれている方法でバージョンを指定してインストールすることになります。

いずれの方法でも、インストール後にはバージョンを確認しておきます。

$ docker version

4. 一般ユーザーでの実行

ドキュメントにも記載されているのですが、root でなく一般ユーザーでdockerを実行する場合にはdockerグループに所属している必要があります。そこで、必要であれば以下を実行してからログインしなおします。

$ sudo usermod -aG docker <アカウント名>

If you would like to use Docker as a non-root user, you should now consider adding your user to the “docker” group with something like:

$ sudo usermod -aG docker your-user

5. Qiitaからの移行

おかげさまで、元々 Qiita に書いていたページは想像以上に需要があったようでありがとうございます。今後は、こちらの方で色々な記事を書いていきたいと思いますので、今後ともよろしくお願いいたします。

この記事をシェアする
目次
閉じる