Docker
https://github.com/docker/docker-install
Docker and Docker Compose install script:
bash
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.shDefault Docker Compose network config for proxy.
yaml
networks:
default:
name: proxy
external: trueInstall on RHEL
https://docs.docker.com/engine/install/rhel/
Remove all Podman packages first:
bash
sudo dnf remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine \
podman \
runcAdd Docker CE repository:
bash
sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repoRunning containers
| COMMAND | DESCRIPTION |
|---|---|
docker run <image> | Start a new container from an image |
docker run -it <image> | Start a new container in interactive mode |
docker run --rm <image> | Start a new container and remove it when it exits |
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 |
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 --all | List all containers, including stopped |
docker logs <container> | Show a container output |
docker logs -f <container> | Follow a container output |
docker logs -f <container> 2>&1 | grep string-to-search | Follow container logs and search for specific string occurrence |
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) |
Executing commands
| COMMAND | DESCRIPTION |
|---|---|
docker attach <container> | Attach to a container |
docker cp <container>:<container-path> <host-path> | Copy files from the container |
docker cp <host-path> <container>:<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 image ls | 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 <user>/<repository>:<tag> | Pull an image from a registry |
docker push <user>/<repository>:<tag> | Push an image to a registry |
docker search <test> | Search an image on the official registry |
docker login | Login to a registry |
docker logout | Logout from a registry |
docker save <user>/<repository>:<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) |
docker run --rm --volumes-from <container> -v $(pwd):/backup busybox tar cvfz /backup/backup.tar.gz <container-path> | Backup a container |
docker run --rm --volumes-from <container> -v $(pwd):/backup busybox sh -c "cd <container-path> && tar xvfz /backup/backup.tar.gz --strip 1" | Restore a container from backup |
