Основные команды 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 IPAddressdocker 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-образа на основе изменений в запущенном контейнере. Это позволяет сохранить текущее состояние контейнера в новый образ, который можно использовать для запуска новых контейнеров с таким же состоянием.