Skip to content

Основные команды Docker

Основные команды Docker, которые используются для управления контейнерами, образами и другими аспектами работы с Docker:

Создание и запуск контейнеров:

  • docker run Создает и запускает контейнер на основе образа. Докер автоматически останавливает запущенный контейнер если в нем не происходит выполнение каких-нибудь команд(процессов). Контейнер переходит в статус exited, но автоматически не удаляется.
  • docker run --rm после остановки контейнера он будет автоматически удален. Очень полезная опция!
  • doсker run -it запускает контейнер в интерактивном режиме и режиме терминала, осуществляя подключение к терминалу запускаемого контейнера. Это произойдет если в образе контейнера указано запустить команду окрывающую ту или иную оболочку bash, sh, etc.
  • docker run -d запускает контейнер в фоновом режиме detached(отсоединенный). Актуально для запуска контейнеров в которых настроенн автоматический запуск целевых процессов(приложений), например: nginx-сервер
  • docker run -- name запускает контейнер с заданным именем, так удобней обращаться к работающему контейнеру
  • docker run -p 80:80 - запуск контейнера с пробросом порта в контейнер докера. Проброс порта означает, что теперь можно обращаться в контейнер через веб-браузер хостового компьютера используя ip-адрес localhost и номер проброшенного порта.
  • docker run -v ${PWD}/локальная папка:/<путь к папке внутри контейнера> - команда позволяет пробросить(подключить) папку к хостового компьютера внутрь онтейнера. Переменная ${PWD} указывает на текущий рабочий каталог, также можно указывать полные пути
  • `docker start**: Запускает остановленный контейнер.
  • **docker stop` Останавливает работу контейнера.

  • docker pause container [container...] приостанавливает все процессы в указанных контейнерах

  • docker unpause container [container...] возобновляет выполнение контейнеров
  • Если не получается остановить контейнер подключаемся к нему docker exec -it bash и выполняем команду kill 1
  • docker restart Перезапускает контейнер.
  • docker exec container-name command Запускает команду внутри работающего контейнера.

Работа с образами:

  • docker build . Создает Docker образ на основе Dockerfile.
  • docker pull Загружает Docker образ из Docker Hub или другого репозитория.
  • docker push Загружает Docker образ в репозиторий, например, на Docker Hub.
  • docker images Показывает список доступных образов на вашей системе.
  • docker rmi image_name Удаляет Docker образ.
  • docker system prune удаляет все неиспользуемые образы
  • docker system prune -a -f удаляет все образы
  • Создание образовподробнее

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

  • docker ps: Показывает список активных контейнеров.
  • docker ps -a Показывает список всех контейнеров, включая остановленные.
  • docker rm Удаляет контейнер.
  • docker container prune удаляет все остановленные контейнеры
  • docker logs Выводит логи контейнера.
  • docker inspect Выводит подробную информацию о контейнере или образе. Информации очень много, удобно ее ГРЕПать, например: | grep IPAddress
  • docker attach позволяет передать указанный активный контейнер под интерактивное управление или увидеть его стандартный вывод
  • docker rename переименовать контейнер
  • docker cp [options] container:src_path dest_path позволяет копировать файлы между контейнером и машиной, на которой тот выполняется.
  • docker diff <container-ID> - позволяет просмотреть изменения файловой системы в контейнере, сделанные с момента его создания или последнего запуска.

Сети:

  • docker network create Создает Docker сеть.
  • docker network ls Показывает список доступных сетей.
  • docker network connect Подключает контейнер к сети.
  • docker network disconnect Отключает контейнер от сети.

Тома:

  • docker volume create <volume_name> Создает Docker том.
  • docker volume ls Показывает список доступных томов.
  • docker volume rm <volume_name> Удаляет Docker том.

Управление образами:

  • docker images Показывает список доступных образов.
  • docker image rm Удаляет Docker образ.
  • docker image prune Очищает неиспользуемые образы.
  • docker image inspect <img_name> метаданные образа, такие как его идентификатор, название, тег, размер, и т.д., а также различные настройки и параметры, используемые при его создании.
  • docker history <img_name> - показывает каждый слой файловой системы, добавленный в образ при его создании, а также команды, которые были выполнены для создания каждого слоя.
  • docker save -o <file_name.tar> <img_name1> <img_name2> - команда для сохранения файлов-образов Docker. Сохраненные в архивах файлы можно перенести на другие компьютеры
  • docker load -i <file_name.tar> - загрузка Docker-образов из архивного файла, созданного с помощью команды docker save. Эта команда позволяет восстановить образы из архива и использовать их на текущей машине.
  • docker tag <old_img_name>:<old_tag> <new_img_name>:<new_tag> - используется для создания нового тега для существующего Docker-образа.

Прочее:

  • docker info Выводит информацию о Docker на вашей системе.
  • docker version Выводит версии Docker клиента и сервера.
  • docker-compose Запускает многоконтейнерные приложения, описанные в файле docker-compose.yml.
  • docker commit <container_id> <new_img_name> - используется для создания нового Docker-образа на основе изменений в запущенном контейнере. Это позволяет сохранить текущее состояние контейнера в новый образ, который можно использовать для запуска новых контейнеров с таким же состоянием.