Популярные команды Docker

Обновлено: 2024-03-12
3 мин
[docker cheatsheet]

Full in english

Топ 10 комманд Docker

  1. docker ps — смотрим список запущенных контейнеров
  2. docker pull — загрузка образа
  3. docker build — собирает образ
  4. docker logs — смотрим логи
  5. docker run — запускаем контейнер
  6. docker stop — останавливает контейнер
  7. docker kill — «убивает» контейнер
  8. docker rm — удаляет контейнер
  9. docker rmi — удаляет образ
  10. docker volume ls — список томов

docker build

Документация Построить образ из Dockerfile.

docker build [DOCKERFILE PATH]

Флаги

  • --file -f Путь, где находится Dockerfile
  • --force-rm Всегда удалять временные контейнеры.
  • --no-cache Не использовать кэш при построении образа.
  • --rm Удалить временные контейнеры после успешного построения.
  • --tag -t Название и возможный тег в формате name:tag или просто тег my_tag (опционально)

Примеры

Построить образ с меткой my-org/my-image, используя Dockerfile в /tmp/Dockerfile.

docker build -t my-org:my-image -f /tmp/Dockerfile

docker run

Документация

Создает и запускает контейнер за один операционный шаг

Примеры

docker run -it ubuntu:latest /bin/bash

Данная команда запустит контейнер ubuntu и при старте сразу запустит /bin/bash. Если образ ubuntu не был загружен ранее, он загрузится перед запуском.

Флаги

  • -it This will not make the container you started shut down immediately, as it will create a pseudo-TTY session (-t) and keep STDIN open (-i)
  • --rm Automatically remove the container when it exit. Otherwise it will be stored and visible running docker ps -a.
  • --detach -d Run container in background and print container ID
  • --volume -v Bind mount a volume. Useful for accessing folders on your local disk inside your docker container, like configuration files or storage that should be persisted (database, logs etc.).

docker exec

Документация Выполнить команду внутри запущенного контейнера.

docker exec [CONTAINER ID]

Флаги

  • --detach -d Detached mode: запуск в фоновом режиме
  • -it запуск в интерактивном режиме. запуск псевдотерминала pseudo-TTY (-t) и перенаправление ввода-вывода (STDIN) (-i). Даёт доступ к выполнению команд в терминале контейнера.

Примеры

docker exec [CONTAINER ID] touch /tmp/exec_works

docker images

Документация Вывести список всех загруженных/созданных образов

docker images

Флаги

  • -q показать только ID образов

docker inspect

Документация

Показать всю информацию о контейнере.

docker inspect [CONTAINER ID]

docker logs

Документация

Вывести логи контейнера.

docker logs [CONTAINER ID]

Флаги

  • --details Показывает дополнительную информацию в логе.
  • --follow -f Следить за выводом журнала
  • --timestamps -t Показать журналы с меткой времени

docker ps

Документация

Показывает информацию о всех запущенных контейнерах.

docker ps

Флаги

  • --all -a Show all containers (default shows just running)
  • --filter -f Filter output based on conditions provided, docker ps -f="name="example"
  • --quiet -q Only display numeric IDs

docker rmi

Документация

Удалить один или несколько образов.

docker rmi [IMAGE ID]

Флаги

  • --force -f Force removal of the image

Советы и рекомендации по докеру

Сборник полезных советов по Docker.

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

NOTE: Удалить ВСЕ контенеры.

docker container prune

или

docker rm $(docker ps -a -q)

Удалить все непомеченные контейнеры

docker image prune

Вывести сколько памяти занимает Docker

docker system df

Получить IP-адрес работающего контейнера

docker inspect [CONTAINER ID] | grep -wm1 IPAddress | cut -d '"' -f 4

Сгенерировать образ на основе файла Dockerfile и добавить этому образу имя и версию

docker build -t new_image_name:v1 .

. означает текущую директорию, где расположен файл Dockerfile.

Сгенерировать из запущенного контейнера новый образ

docker commit [CONTAINER ID] [NEW IMAGE NAME]

“Убить” все запущенные контейнеры

docker kill $(docker ps -q)

Ссылки