docker
- awesome-docker : A curated list of Docker resources and project.
- Docker Hub for docker images.
Install docker engine¶
Please check supported versions first before adding the repository.
sudo apt update && sudo apt install -y ca-certificates curl gnupg lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) 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
sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
NVIDIA GPU support¶
- Setup cuda.
- Install the NVIDIA Container Toolkit
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/stable/deb/nvidia-container-toolkit.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-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
Test docker installation¶
Testing docker
Testing nvidia GPU support
(Optional) add to docker group¶
So you don't have to type sudo on docker commands.
And then log out and log back in.
(Optional) settings for Docker¶
- data-root: Put the Docker data directory to another partition. (- /home/dockerin this example)
- registry-mirrors: Set up Google's pull-through cache to work around the DockerHub's pull rate limit.
- storage-driver: Set up BTRFS storage driver if the Docker data directory is in a BTRFS partition.
Edit /etc/docker/daemon.json, add the following entries
/etc/docker/daemon.json
{
  "data-root": "/home/docker",
  "registry-mirrors": ["https://mirror.gcr.io"],
  "storage-driver": "btrfs"
}
Then run the following command to apply new docker daemon settings.
You can see the new settings:
Documentations and Tutorials for Docker¶
Docker Utilities¶
- hadolint/hadolint : Dockerfile linter that helps you build best practice Docker images, validate inline bash, written in Haskell.
- rpardini/docker-registry-proxy : Self-hosted docker registry proxy