Docker
- Official: https://docs.docker.com/engine/install/debian
- https://www.it-connect.fr/installation-pas-a-pas-de-docker-sur-debian-11
Debian
Install dependencies
sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common
Add Docker’s official GPG key
sudo curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Add Docker’s stable repository
sudo echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list
Update APT and install Docker
sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io
Add user to docker
group
sudo usermod -aG docker $USER
Reboot
sudo reboot
Check Docker service
sudo systemctl status docker
Commands
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
Dockerfile
FROM [IMAGE]
RUN [COMMAND]
WORKDIR [PATH]
COPY [HOST_PATH] [CONTAINER_PATH]
CMD [COMMAND]
Docker Compose
sudo curl -L ""
Commands
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
Docker Compose file
version: "3.9"
services:
[SERVICE]:
image: [IMAGE]
container_name: [NAME]
restart: [always|no|on-failure]
ports:
- "[HOST_PORT]:[CONTAINER_PORT]"
volumes:
- "[HOST_PATH]:[CONTAINER_PATH]"
environment:
- [KEY]=[VALUE]
depends_on:
- [SERVICE]
Table of Contents