====== Docker commands ====== ===== Links ===== Save / Persist docker containers (with data):\\ [[https://tuhrig.de/difference-between-save-and-export-in-docker/|Difference between # Docker save (image) and # Docker export (container)]]\\ Docker commands official documentation:\\ [[https://docs.docker.com/v17.12/engine/reference/commandline/container_start/|# man docker]]\\ Docker storage:\\ [[https://docs.docker.com/storage/|How is data stored in Docker]]\\ ===== Basic commands ===== List images\\ ''$ sudo docker images''\\ List containers (-a shows not running containers as well)\\ ''$ sudo docker ps -a''\\ Delete container\\ ''$ sudo docker rm 665b4a1e17b6''\\ Delete image\\ ''$ sudo docker rmi busybox''\\ Run shell on an image\\ ''$ sudo docker run -it image_name /bin/bash''\\ ===== Open start container ===== (assuming container is already created)\\ ''$ sudo docker start 665b4a1e17b6''\\ ===== Open shell on container ===== ''$ sudo docker exec -i -t 665b4a1e17b6 /bin/bash #by ID''\\ ''$ sudo docker exec -i -t loving_heisenberg /bin/bash #by Name''\\ Alternative (only 1 possible shell instance):\\ ''$ sudo docker attach 665b4a1e17b6 #by ID''\\ ''$ sudo docker attach loving_heisenberg #by Name''\\ ===== Export / Import container ===== Export to a .tar file\\ ''$ sudo docker export > /home/export.tar''\\ Import a .tar file\\ ''$ cat /home/export.tar | sudo docker import - busybox-1-export:latest''\\ ===== Save / Load image ===== Save image to a .tar file\\ ''$ sudo docker save busybox-1 > /home/save.tar''\\ Load image from a .tar file\\ ''$ docker load < /home/save.tar''\\