Ubuntu 16.04にDockerをインストール

公式サイトのドキュメントを参考にした。

下準備

まずは古いバージョンの Docker Engine をアンインストールせよ、とのことだけど、今回ははじめてインストールするのでこの作業はパス。

なので最初にするのは apt-get update

takatoh@apostrophe $ sudo apt-get update

必要なパッケージをインストール。

takatoh@apostrophe $ sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

すでに全部インストールされていたようだ。

つぎに Docker 公式の GPG key をインストール。

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

ちゃんとインストールできたか確認。

takatoh@apostrophe $ sudo apt-key fingerprint 0EBFCD88
pub 4096R/0EBFCD88 2017-02-22
    フィンガー・プリント = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid Docker Release (CE deb) [email protected]
sub 4096R/F273FCD8 2017-02-22

なんかドキュメントの例と出力が違うけど、日付とフィンガー・プリントが合ってるから大丈夫なんだろう。

リポジトリを登録。

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

途中に出てくる lsb_release -cs コマンドは Ubuntu ディストリビューションの名前を返す。↓こんな感じ。

takatoh@apostrophe $ lsb_release -cs
xenial

Docker Engineのインストール

takatoh@apostrophe $ sudo apt-get update
takatoh@apostrophe $ sudo apt-get install docker-ce docker-ce-cli containerd.io

最後に hello-world イメージを走らせてみて、ちゃんとインストールできてるかを確認。

takatoh@apostrophe $ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
0e03bdcc26d7: Pull complete
Digest: sha256:8e3114318a995a1ee497790535e7b88365222a21771ae7e53687ad76563e8e76
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

大丈夫そうだ。