Шпаргалка по командам Docker
Docker — это движок контейнеризации приложений с открытым исходным кодом, который позволяет разработчикам упаковывать свои приложения и зависимости в переносимый образ, который затем можно развернуть на любой популярной машине с Linux или Windows, а также добиться виртуализации. Контейнеры полностью используют механизм песочницы (sandbox) и не имеют никаких интерфейсов между собой.
Общее использование
Запустить контейнер в фоновом режиме
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Сборка образов (Build Images)
Собрать образ из Dockerfile в текущем каталоге
docker build --tag myimage . Принудительно пересобрать образ
docker build --no-cache . Сохранить изменения в контейнере в виде образа (Commit)
docker commit c7337 myimage Удалить все неиспользуемые образы
docker rmi $(docker images -q -f "dangling=true")Отладка (Debug)
Войти в работающий контейнер
docker exec -it c7337 dockerПоказать логи активности работающего контейнера-демона
docker logs -f c7337Показать открытые порты контейнера
docker port c7337Тома (Volumes)
Создать локальный том
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Запросить работающий контейнер с определенными метаданными
docker inspect -f '{{ .NetworkSettings.IPAddress }}' c7337Описание
Имя образа
redis, jenkins, nginxИмя контейнера или ID коммита
mydb # имя контейнера
c7337 # ID коммита