個人用のホームページを作成しました。今後は、そちらの方に整理していきたいと思いますので、よろしくお願いします。
1. Ubuntuにdockerをインストールする
Ubuntuにdockerをインストールする場合、dockerのドキュメントに記載されている方法を利用することができます。ここで、docker-ceをインストールする場合、現在はx86_64 (or amd64)、 armhf、 s390x (IBM Z) がサポートされています。(とドキュメントに書かれているんですけど、リポジトリ を見ると arm64 もサポートされているようです)
現在のドキュメントでは、ちゃんと書かれていますね。(2019/04/08記)
Docker CE is supported on x86_64 (or amd64), armhf, arm64, s390x (IBM Z), and ppc64le (IBM Power) architectures.
実は、このドキュメントに書かれている方法が二つあります。一つは apt コマンドを使ってリポジトリからインストールする方法で、もう一つは get-docker.sh スクリプトを使う方法となっています。
2. リポジトリからのインストール
リポジトリからインストールする場合は、次の手順となります。
2.1 パッケージインデックスの更新
最初に、まず apt update を実行します。
$ sudo apt-get update
2.2 前提ソフトウェアのインストール
続けて、前提ソフトウェアをインストールします。
$ sudo apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
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 4096R/0EBFCD88 2017-02-22
Key fingerprint = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid Docker Release (CE deb) <docker@docker.com>
sub 4096R/F273FCD8 2017-02-22
2.4 aptリポジトリの設定
ここで aptコマンド用のリポジトリを設定しますが、dockerではstable、edge、testが公開されています。
ドキュメントの例では stableとして、以下のように設定しています。
x86_64
$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
armhf
$ sudo add-apt-repository \
"deb [arch=armhf] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
2.5 docker-ceのインストール
準備ができましたので、以下のようにしてdocker-ceをインストールします。
$ sudo apt-get update
$ sudo apt-get install -y docker-ce
3. スクリプトでのインストール
もう一つの方法で、スクリプトからインストールする場合は、以下の方法となります。
$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
実は、何のためにこの文書を書いたのかと言いますと、上記リポジトリを利用した場合には stableが例として使われていたのですが、スクリプトを利用した場合には edge が利用されていました。
実際には、以下のようになっています。
+ sh -c echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial edge" > /etc/apt/sources.list.d/docker.list
このため、どちらの方法でインストールするかによってはバージョンが異なる可能性があります。もちろん、厳密にバージョンを指定する場合には、公式ドキュメントに書かれている方法でバージョンを指定してインストールすることになります。
いずれの方法でも、インストール後にはバージョンを確認しておきます。
$ 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. download.docker.com の情報
おかげさまで、このページも想像以上に需要がありそうですから download.docker.com の内容を整理してみます。なお、2018/11/14 現在の内容です。
| OS | Distribution | Version | CPU |
|---|---|---|---|
| Linux | CentOS | 7 | aarch64, x86_64 |
| Debian | Buster | amd64, arm64, armhf, ppc64el | |
| Jessie | |||
| Stretch | amd64, arm64, armhf | ||
| Wheezy | |||
| Fedora | 24 | ||
| 25 | |||
| 26 | |||
| 27 | |||
| 28 | |||
| 29 | aarch64, x86_64 | ||
| 30 | |||
| 31 | aarch64, x86_64 | ||
| Raspbian | Jessie | ||
| Stretch | arm64, armhf | ||
| Buster | amd64, arm64, armhf, ppc64el | ||
| Ubuntu | Artful | ||
| Bionic | amd64, arm64, armhf, ppc64el, s390x | ||
| Cosmic | |||
| Disco | amd64, arm64, armhf, ppc64el | ||
| Trusty | |||
| Xenial | amd64, arm64, armhf, ppc64el, ppc64le, s390x | ||
| Yakkety | |||
| Zesty |
とうことで、いつの間にか Raspbian 用のバイナリが公開されていますので、最近では Raspberry Pi 用にはこちらをインストールしています。 CPU は、手を抜いて代表的なバージョンだけ書いてみました。
docker-ce のバージョンが、なかなか 18.09.2 にならないと思っていて確かめたら debian の armhf は 18.09.2 に更新されていたので、raspbian を使わないで debian に戻したのでした。(2019/02/26記)