TOP часто используемых docker-команд

Кроме того, что у Docker есть превосходная официальная документация, со временем, у каждого, кто часто пользуется данным инструментом с CLI (как и с любым другим), формируется TOP команд и методов, наиболее востребованных в том или ином проекте. Данная публикация носит характер «не засорять history вызовами history | grep someOldShit».

СЕТИ

# Создание сети
docker network create anyNetworkName
# Показать все сети
docker network ls
# Детальная информация по сети (JSON)
docker network inspect anyNetworkName
# Присоединить контейнер к существующей сети (после старта контейнера)
docker network connect anyNetworkName anyContainerName

ОТЛАДКА

# Войти в ssh-консоль контейнера (три примера)
docker exec -u 0 -it anyContainerID bash
docker exec -it anyContainerID bash
docker exec -ti --user root anyContainerID /bin/bash
# Посмотреть error log
docker logs anyContainerID
# Посмотреть всю детальную информацию по контейнеру (JSON)
docker inspect anyContainerID
# Изменение файлов в контейнере (даже если остановлен)
docker rm anyContainerName:/anyPath/anyFile
docker cp anyContainerName:/anyFromPath/anyFromFile /anyToPath/anyToFile
# Изменение файла в контейнере (если доступен ssh)
vim scp://anyUser@anyContainerIP//anyPath/anyFile

ОБРАЗЫ

# Создание образа контейнера (точка через пробел в конце необходима):
# p.p.s: необходимо находиться в каталоге с Dockerfile перед сборкой (проверить текущий каталог: pwd, перейти в необходимый: cd /var/anyName/)
docker build -f /var/anyName/Dockerfile -t anyImageName .
# Показать образы
docker images
# Удалить образ
docker rmi anyImageName

КОНТЕЙНЕРЫ

# Запуск экземпляра контейнерв на примере WildFly/JBOSS:
# -v: проброc каталога c хоста внутрь, напр. /var/www/upload/:/var/www/upload/ (хост:контейнер)
# -p: маппинг портов хост:контейнер (не проброс, проброс порта из контейнера осуществляется в Dockerfile)
docker run -v /anyFolderPath/:/anyFolderPath/ -d -i -t --network="anyNetworkName" --hostname="anyHostName" --name="anyContainerName" -p 80:8080 -p 81:9990 anyImageName
# Показать все контейнеры
docker container ls -a
# Показать активные контейнеры
docker ps
# Остановить / удалить контейнер (отличие kill / stop в SIGKILL / SIGTERM и далее SIGTERM после timeout)
docker kill anyContainerID / docker kill anyContainerID
docker rm anyContainerID