====== Installing ======
===== Debian =====
apt update
apt remove docker docker-engine docker.io containerd runc
apt install -y apt-transport-https ca-certificates curl gnupg lsb-release
curl -fsSL https://download.docker.com/linux/debian/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/debian $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
# For dependency errors, apt install -f
# Convenience script...
# curl -fsSL https://get.docker.com -o get-docker.sh | bash
===== Ubuntu =====
#!/usr/bin/env bash
sudo apt remove $(dpkg --get-selections docker.io docker-compose docker-compose-v2 docker-doc podman-docker containerd runc | cut -f1)
# Add Docker's official GPG key:
sudo apt update
sudo apt install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
sudo tee /etc/apt/sources.list.d/docker.sources <
===== Windows =====
If you already installed Docker Desktop, you can start the Docker Engine as a daemon with:
C:\Program Files\Docker\Docker\resources/dockerd.exe --register-service
Then, configure the service to start "Automatic (Delayed Start)". Open "cmd" with Administrator privileges to run docker commands (first "docker context use default").
====== Volumes ======
Within a docker compose file, you can define volumes that are on shared network file systems:
volumes:
nas-share:
driver_opts:
type: cifs
o: "username=[username],password=[password]"
device: "//my-nas/share"
volumes:
nfs-docker-upload:
driver_opts:
type: "nfs"
o: "addr=10.122.0.30,nfsvers=4.1,rw"
device: ":/volume1/docker/immich/upload"
services:
my-server:
container_name: my-server
image:my_server
volumes:
- nfs-docker-upload:/usr/src/app/upload