- 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 に書いていたページは想像以上に需要があったようでありがとうございます。今後は、こちらの方で色々な記事を書いていきたいと思いますので、今後ともよろしくお願いいたします。