Docker
Docker installation on Debian
For Debian: https://docs.docker.com/engine/install/debian/
Installation
Requirements
sh
sudo apt update
sudo apt install -y ca-certificates curl gnupgAdd repository
sh
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/debian
Suites: $(. /etc/os-release && echo "$VERSION_CODENAME")
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOFsh
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
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get updateInstall docker dependencies
sh
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginEnable and start docker
sh
sudo systemctl enable docker
sudo systemctl start dockerCheck if docker is running
sh
sudo systemctl status dockerCheatsheet
Docker
docker ps: list containersdocker ps -a: list all containersdocker --version: show versiondocker images: list imagesdocker rm [ID]: remove containerdocker rmi [ID]: remove imagedocker run -it [IMAGE]: run imagedocker run -it --rm [IMAGE]: run image and remove it after exitdocker run -it --rm -v [HOST_PATH]:[CONTAINER_PATH] [IMAGE]: run image and mount volumedocker run -it --rm -v [HOST_PATH]:[CONTAINER_PATH] -p [HOST_PORT]:[CONTAINER_PORT] [IMAGE]: run image and mount volume and expose port
Docker Compose
docker-compose up: start containersdocker-compose up -d: start containers in backgrounddocker-compose down: stop containersdocker-compose down -v: stop containers and remove volumesdocker-compose logs: show logsdocker-compose logs -f: show logs in real timedocker-compose exec [SERVICE] [COMMAND]: execute command in servicedocker-compose exec [SERVICE] sh: execute shell in servicedocker-compose exec [SERVICE] bash: execute bash in servicedocker-compose exec [SERVICE] mysql -u [USER] -p: execute mysql in service
Options
Allow non-root user to run docker
sh
sudo gpasswd -a $USER docker
newgrp dockersh
sudo groupadd docker
sudo usermod -aG docker $USERsh
sudo synogroup --add docker
sudo chown root:docker /var/run/docker.sock
sudo synogroup --member docker $USERAfter this, you may need to log out and back in, or even restart your machine before the permissions take effect.
Login to Docker Hub
sh
sudo docker login