UbuntuにDockerをインストール

目次

プログラム開発に便利なDockerをインストールします。

使用OSは"Ubuntu 20.04.2"です。

Dockerをインストールする

特に凝ったことはせずに公式ドキュメントにしたがってインストールします。

https://docs.docker.com/engine/install/ubuntu/

1.aptリポジトリのセットアップ

aptパッケージインデックスを更新し、HTTPS経由でリポジトリを使用することができるようにします。

$ sudo apt-get update
$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

Docker公式のPGP公開鍵を取り込みます。

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

aptソースにDocker安定リポジトリを追加します。

$ echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

2.Dockerエンジンをインストールする

aptパッケージインデックスを更新し、最新のDockerエンジンとcontainerdをインストールします。

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

インストールされたDockerのバージョンを確認します。

$ sudo docker version
Client: Docker Engine - Community
 Version:           20.10.6
 API version:       1.41
 Go version:        go1.13.15
 Git commit:        370c289
 Built:             Fri Apr  9 22:47:17 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.6
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       8728dd2
  Built:            Fri Apr  9 22:45:28 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.4
  GitCommit:        05f951a3781f4f2c1911b05e61c160e9c30eaa8e
 runc:
  Version:          1.0.0-rc93
  GitCommit:        12644e614e25b05da6fd08a38ffa0cfe1903fdec
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

3.Dockerエンジンを実行する

hello-worldイメージを実行して、Dockerエンジンが正しく動作するか確認します。

$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
b8dfde127a29: Pull complete 
Digest: sha256:5122f6204b6a3596e048758cabba3c46b1c937a46b5be6225b835d091b90e46c
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/

$

4.ユーザーを設定する

初期状態ではDockerを利用できるのはrootユーザーだけです。そこでsudoコマンドで毎回権限を取得するのですが面倒です。 普段使うユーザーをdockerグループに追加することでそのまま使用することができるようにします。

sudo gpasswd -a ユーザー docker

$ sudo gpasswd -a izumi docker
ユーザ izumi をグループ docker に追加

変更を反映させるためにログアウトします。