UbuntuでDocker

f:id:tworks55:20200524003956p:plain

UbuntuにDockerをインストールしました。

基本的に公式ページの通りにコマンドを打つだけでインストールできます。

Install Docker Engine on Ubuntu | Docker Documentation

1. Old version削除

まずは古いdockerの削除です。

$ sudo apt-get remove docker docker-engine docker.io containerd runc

/var/lib/docker/にコンテンツは残るようなので、不要であれば削除します。私のUbuntuは新規インストールだったので何もありませんでしたが。。




2. aptリポジトリを使ってインストール

https経由でaptリポジトリを使うための各種パッケージをインストールします。

$ sudo apt-get update

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

DockerのオフィシャルGPGキーを追加します。

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



フィンガープリントの最後8桁を使って検証します。以下のように表示されればOKです。

$ sudo apt-key fingerprint 0EBFCD88
pub   rsa4096 2017-02-22 [SCEA]
      9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
uid           [  不明  ] Docker Release (CE deb) <docker@docker.com>
sub   rsa4096 2017-02-22 [S]

CPUに合わせてaptのリポジトリ情報を追加します。

"x86_64 / amd64"の場合は以下のコマンドです。

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

ようやくこれでdocker-ceがインストールできます。

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

正しく使えるか検証します。以下のコマンドでhello-worldが表示されれば問題ありません。

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

sudoコマンドを打たず、一般ユーザーでdockerを実行する場合は、以下のコマンドを実行後に再ログインします。

$ sudo usermod -aG docker $(whoami)

ただし、 Docker security | Docker Documentationに記載されているようなセキュリティリスクがありますので要注意です。