Skip to content

Docker Cheat Sheet - Шпаргалка по командам

Docker — это платформа контейнеризации приложений с открытым исходным кодом, которая позволяет разработчикам упаковывать свои приложения и зависимости в переносимый образ, который затем можно опубликовать на любой популярной машине Linux или Windows, обеспечивая виртуализацию. Контейнеры используют механизм песочницы и полностью изолированы друг от друга.

Общее использование

Запуск контейнера в фоновом режиме

docker run -d jenkins

Запуск интерактивного контейнера

docker run -it ubuntu bash

Запуск контейнера, который автоматически удаляется при остановке

docker run --rm ubuntu bash 

Запуск контейнера с перенаправлением портов

docker run -p 80:80 -d nginx 

Запуск именованного контейнера

docker run --name mydb redis 

Запуск остановленного контейнера

docker start mydb 

Остановка контейнера

docker stop mydb

Запуск контейнера и добавление метаданных

docker run -d \ label=traefik.backend=jenkins jenkins

Сборка образов

Сборка образа из Dockerfile в текущем каталоге

docker build --tag myimage . 

Принудительная пересборка образа

docker build --no-cache . 

Преобразование контейнера в образ

docker commit c7337 myimage 

Удаление всех неиспользуемых образов

docker rmi $(docker images -q -f "dangling=true")

Отладка

Вход в запущенный контейнер

docker exec -it c7337 docker

Просмотр логов активности контейнера, работающего как демон

docker logs -f c7337

Просмотр проброшенных портов контейнера

docker port c7337

Тома и сети

Создание локального тома

docker volume create --name myvol 

Монтирование тома при запуске контейнера

docker run -v myvol:/data redis

Удаление тома

docker volume rm myvol 

Список всех томов

docker volume ls

Создание локальной сети

docker network create mynet 

Подключение контейнера к сети при запуске

docker run -d --net mynet redis

Подключение контейнера к конкретной сети

docker network connect mynet c7337 

Отключение контейнера от сети

docker network disconnect mynet c7337

Управление контейнерами

Список запущенных контейнеров

docker ps

Список всех контейнеров (включая запущенные и остановленные)

docker ps -a

Инспекция метаданных контейнера

docker inspect c7337

Список всех доступных локальных образов

docker images

Удаление всех остановленных контейнеров

docker rm $(docker ps --filter status=exited -q) 

Список всех контейнеров со специфической меткой

docker ps --filter label=traefik.backend

Запрос IP-адреса запущенного контейнера

docker inspect -f '{{ .NetworkSettings.IPAddress }}' c7337

Описание

Имя образа

redis, jenkins, nginx

Имя контейнера или ID коммита

mydb  # Имя контейнера 
c7337 # ID коммита