見出し画像

Ubuntu 18.04にDocker CEをインストールする

最終的には、nvidia-dockerをインストールしたいのですが、nvidia-dockerの公式サイトのインストール条件を見ると、以下が要件とのことで、Dockerだけはまだインストールしていないので、インストールしていきます。

GNU/Linux x86_64 with kernel version > 3.10
Docker >= 1.12
NVIDIA GPU with Architecture > Fermi (2.1)
NVIDIA drivers ~= 361.93 (untested on older versions)

ちなみに、使っているUbuntu Linuxのカーネルのバージョンは、以下で確認します。

$ uname -r
4.18.0-25-generic

nvidia-driverは、以下の記事、

でインストールしていましたが、driver versionは、nvidia-smiコマンドで、確認できます。

$ nvidia-smi
Wed Jul 17 09:57:12 2019       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 418.56       Driver Version: 418.56       CUDA Version: 10.1     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce RTX 2070    Off  | 00000000:01:00.0  On |                  N/A |
| 36%   31C    P8    10W / 175W |    352MiB /  7944MiB |      1%      Default |
+-------------------------------+----------------------+----------------------+
                                                                              
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1222      G   /usr/lib/xorg/Xorg                            18MiB |
|    0      1260      G   /usr/bin/gnome-shell                          50MiB |
|    0      2171      G   /usr/lib/xorg/Xorg                           122MiB |
|    0      2291      G   /usr/bin/gnome-shell                          77MiB |
|    0      2879      G   ...uest-channel-token=16604101171090115672    71MiB |
|    0     11557      G   ...quest-channel-token=5875931597022142122    10MiB |
+-----------------------------------------------------------------------------+

Docker公式サイトのインストール手順を確認

基本的に、公式サイトの手順どおりにやっていくだけです。
一応、雰囲気がわかるようにやったことはメモしていきます。

Dockerがリポジトリとhttpsで通信するために必要なパッケージを追加

$ sudo apt update
$ sudo apt 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 -

ちゃんと、公式のフィンガープリント(9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88)がある鍵になっているか確認しておきます。

$ 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]

Docker用のaptのリポジトリを追加

Ubuntuで使えるx86_64/amd64のリポジトリを追加します。

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

Docker CEをインストールする

ここまで来たらあとは、aptでインストールするだけです。

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

インストールが終了すると、以下でバージョンを確認できます。

$ sudo docker version
Client:
Version:           18.09.7
API version:       1.39
Go version:        go1.10.8
Git commit:        2d0083d
Built:             Thu Jun 27 17:56:23 2019
OS/Arch:           linux/amd64
Experimental:      false

Server: Docker Engine - Community
Engine:
 Version:          18.09.7
 API version:      1.39 (minimum version 1.12)
 Go version:       go1.10.8
 Git commit:       2d0083d
 Built:            Thu Jun 27 17:23:02 2019
 OS/Arch:          linux/amd64
 Experimental:     false

さらに、Dockerが動作するかを確認するためには、以下を実行します。

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

上記のように、サンプル用のイメージがダウンロードされ、結果が表示されていれば動作しているのが確認できていることになります。


この記事が気に入ったらサポートをしてみませんか?