Install Docker

Ubuntuにおいて、Dockerをインストールするにはいくつかの方法を選択できますが、インストールする前にDocker DesktopまたはDocker Engineのどちらを選ぶか決定する必要があります。公式チュートリアルはこちらにあります。 このセクションでは、Docker EngineおよびDocker CEのインストールについて説明します。

この情報を基に、適切なDockerのインストール方法を選んでください。


こちらに掲載しているDockerのインストール方法は情報が古くなる可能性があります。

必ず公式サイトをチェックしてください⭐️''

説明文

NOTE

動作環境は以下のリストを満たしている必要があります。詳しくは公式サイトをご覧ください。 GPUを使用しない条件に於いてはこの限りではありません。

  1. GNU/Linux x86_64 with kernel version > 3.10

  2. Docker >= 19.03 (recommended, but some distributions may include older versions of Docker. The minimum supported version is 1.12)

  3. NVIDIA GPU with Architecture >= Kepler (or compute capability 3.0)

  4. NVIDIA Linux drivers >= 418.81.07 (Note that older driver releases or branches are unsupported.)

これらの条件は以下の操作で確認できます。

# カーネルヴァージョン
uname -r

# Your docker version.
docker --version

# GPUアーキテクチャ
lspci | grep -ie nvidia

# Your NVIDIA linux driver version.
nvidia-smi

GPUのアーキテクチャのリストは以下を参照して下さい。

便利なスクリプトを使いましょう

Dockerのインストールは以下のスクリプトで行えます。

sudo apt update && sudo apt upgrade -y \
  && curl https://get.docker.com | sh \
  && sudo systemctl --now enable docker

マニュアルインストール

また、以下のように手動でDockerをインストールもできます。 これらは予告なく更新されますので、正確な情報はDockerの公式サイトをご覧ください。

# Uninstall old versions
sudo apt remove docker docker-engine docker.io containerd runc
sudo apt update && sudo apt upgrade -y
# Set up the repository
sudo apt install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
# Add Docker’s official GPG key:
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# Use the following command to set up the repository:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# NOTE: If you get an error about apt/sources.list, you should comment out docker's line at sources.list.
# Install Docker Engine
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
# NOTE: If you receive a GPG error when running apt update, run the following command and then try to update your repo again.
# sudo chmod a+r /etc/apt/keyrings/docker.gpg
# See bellow
# https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

If you want to confirm installed Docker, try the following command. sudo docker run hello-world

nvidia-docker2をインストールする

FACE01Dockerで利用するにはnvidia-docker2が必要です。 nvidia-docker2をインストールするには、NVIDIA official tutorialをご参照ください。


説明文

nvidia-docker2をかならずインストールしましょう。


distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
      && curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
      && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
            sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
            sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

sudo apt update
sudo apt install -y nvidia-docker2
sudo systemctl restart docker

テストに関しては以下をご参照ください。

sudo docker run --rm --gpus all nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi

インストールが終わったら

If you don’t want to preface the docker command with sudo, create a Unix group called docker and add users to it.

sudo groupadd docker
sudo usermod -aG docker $USER

See here

When you want to delete all at once

See docker image prune. Japanese is here. Also, you chose some manner as bellow.

Stop all containers

docker stop $(docker ps -q)

Delete all containers

docker rm $(docker ps -q -a)

Delete all images

docker rmi $(docker images -q)

Delete all except specific images

docker images -aq | grep -v 98c2341c70ce | xargs docker rmi

If you're PC is not installed NVIDIA GPU card

The Dockerfile you build must be Dockerfile_no_gpu. The settings in config.ini are limited to bellow.

  • headless = True

  • use_pipe = True

See 'To build FACE01 docker image without nvidia-docker2 package' section described here