Help us understand the problem. What is going on with this article?

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

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

Ubuntuにdockerをインストールする場合、dockerのドキュメントに記載されている方法を利用することができます。ここで、docker-ceをインストールする場合、現在はx86_64 (or amd64)armhfs390x (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ではstableedgetestが公開されています。

ドキュメントの例では 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 にならないと思っていて確かめたら debianarmhf18.09.2 に更新されていたので、raspbian を使わないで debian に戻したのでした。(2019/02/26記)

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした