tech_notes:docker

Back  
 Next

Mostly sourced from: xcad2k cheat-sheets/docker/docker.md

Docker

Docker is a set of platform as a service (PaaS) products that use OS-level virtualization to deliver software in packages called containers. The service has both free and premium tiers. The software that hosts the containers is called Docker Engine.

Project Homepage: Home - Docker

Documentation: Docker Documentation | Docker Documentation

Docker hub: Docker hub


One click installation script:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

Note for Debian testing just use ''sudo apt install docker''.

Run docker as non root user:

sudo groupadd docker
sudo usermod -aG docker $USER

Install Docker Engine : Docker Engine



Run Containers

COMMAND DESCRIPTION
`docker run IMAGE` Start a new container
`docker run –name CONTAINER IMAGE` Start a new container and set a name
`docker run -p HOSTPORT:CONTAINERPORT IMAGE` Start a new container with mapped ports
`docker run -P IMAGE` Start a new container and map all ports
docker run -d IMAGE Start a new container in background

Container Management:

COMMAND DESCRIPTION
docker ps -a Show a list of all containers
`docker create IMAGE` Create a new container
`docker start CONTAINER` Start a container
`docker stop CONTAINER` Graceful stop a container
`docker kill CONTAINER` Kill (SIGKILL) a container
`docker restart CONTAINER` Graceful stop and restart a container
`docker pause CONTAINER` Suspend a container
`docker unpause CONTAINER` Resume a container
`docker rm CONTAINER` Destroy a container
docker exec -it CONTAINER COMMAND Run a command in a container
docker exec -it CONTAINER bash Run bash shell in a container

Container Bulk Management

COMMAND DESCRIPTION
`docker stop $(docker ps -q)` To stop all the running containers
`docker stop $(docker ps -a -q)` To stop all the stopped and running containers
`docker kill $(docker ps -q)` To kill all the running containers
`docker kill $(docker ps -a -q)` To kill all the stopped and running containers
`docker restart $(docker ps -q)` To restart all running containers
`docker restart $(docker ps -a -q)` To restart all the stopped and running containers
`docker rm $(docker ps -q)` To destroy all running containers
`docker rm $(docker ps -a -q)` To destroy all the stopped and running containers
`docker pause $(docker ps -q)` To pause all running containers
`docker pause $(docker ps -a -q)` To pause all the stopped and running containers
`docker start $(docker ps -q)` To start all running containers
`docker start $(docker ps -a -q)` To start all the stopped and running containers
`docker rm -vf $(docker ps -a -q)` To delete all containers including its volumes use
`docker rmi -f $(docker images -a -q)` To delete all the images
`docker system prune` To delete all dangling and unused images, containers, cache and volumes
`docker system prune -a` To delete all used and unused images
`docker system prune –volumes` To delete all docker volumes

Inspect Containers:

COMMAND DESCRIPTION
`docker ps` List running containers
`docker ps -a` List all containers, including stopped
`docker logs CONTAINER` Show a container output
`docker logs -f CONTAINER` Follow a container output
`docker top CONTAINER` List the processes running in a container
`docker diff` Show the differences with the image (modified files)
`docker inspect` Show information of a container (json formatted)

Run Commands:

COMMAND DESCRIPTION
`docker attach CONTAINER` Attach to a container
`docker cp CONTAINER:PATH HOSTPATH` Copy files from the container
`docker cp HOSTPATH CONTAINER:PATH` Copy files into the container
`docker export CONTAINER` Export the content of the container (tar archive)
`docker exec CONTAINER` Run a command inside a container
`docker exec -it CONTAINER /bin/bash` Open an interactive shell inside a container (there is no bash in some images, use /bin/sh)
`docker wait CONTAINER` Wait until the container terminates and return the exit code

Images:

COMMAND DESCRIPTION
`docker images` List all local images
`docker history IMAGE` Show the image history
`docker inspect IMAGE` Show information (json formatted)
`docker tag IMAGE TAG` Tag an image
`docker commit CONTAINER IMAGE` Create an image (from a container)
`docker import URL` Create an image (from a tarball)
`docker rmi IMAGE` Delete images
`docker pull REPO:[TAG]` pull an image/repo from a registry
`docker push REPO:[TAG]` push and image/repo to a registry
`docker search TEXT` Search an image on the official registry
`docker login` Login to a registry
`docker logout` Logout from a registry
`docker save REPO:[TAG]` Export an image/repo as a tarball
`docker load` Load images from a tarball

Volumes:

COMMAND DESCRIPTION
`docker volume ls` List all volumes
`docker volume create VOLUME` Create a volume
`docker volume inspect VOLUME` Show information (json formatted)
`docker volume rm VOLUME` Destroy a volume
`docker volume ls –filter=“dangling=true”` List all dangling volumes (not referenced by any container)
`docker volume prune` Delete all volumes (not referenced by any container)

Backup docker data from inside container volumes and package it in a tarball archive. docker run --rm --volumes-from CONTAINER -v $(pwd):/backup busybox tar cvfz /backup/backup.tar CONTAINERPATH

Restore the volume with a tarball archive. docker run --rm --volumes-from CONTAINER -v $(pwd):/backup busybox sh -c "cd CONTAINERPATH && tar xvf /backup/backup.tar --strip 1"

docker run --name netshoot --rm -it nicolaka/netshoot /bin/bash

  • /mnt/shared/www/dokuwiki/data/pages/tech_notes/docker.txt
  • Last modified: 2022-12-03 Sat wk48 20:14
  • by baumkp