Администрирование FreeBSD, Linux, ... docker: часто используемые команды Sun, December 08 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.


docker: часто используемые команды Печать
Добавил(а) microsin   

Краткий справочник по часто используемым командам для работы с докером.

Команда                  Описание
docker ps Покажет работающие контейнеры.
docker ps --all Покажет все контейнеры - работающие и остановленные.
docker images Покажет образы.
docker export Выгружает файловую систему контейнера как tar-архив (см. далее врезку "docker export").
docker import Импорт из tar-архива файловой системы контейнера и создание образа.
docker rm Удалит контейнер.
docker rmi Удалит образ.
docker run Создаст контейнер из образа и запустит его (см. далее врезку "docker run").
docker start Запустит контейнер.
docker attach Подключение командной строки терминала к контейнеру.
docker stop Останавливает контейнер. Все изменения, которые были сделаны в контейнере с момента запуска, будут потеряны.

Использование:

docker export [OPTIONS] CONTAINER

Экспортирует файловую систему контейнера как tar-архив.

Псевдонимы: docker container export, docker export

Опции:

  -o, --output имя_файла   Записывает в файл имя_файла вместо STDOUT.

Практическое использование:

docker export имя_контейнера | gzip > ~/archive.tar.gz

Использование:

docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]

Импортирует содержимое из tarball файла для создания файловой системы образа (создает образ). На основе этого образа можно развернуть контейнер.

Внимание: команда import не создаст контейнер, она всего лишь создает образ из архива, в котором содержится файловая система контейнера. Для создания контейнера из образа используйте команду run.

Псевдонимы: docker image import, docker import

Опции:

  -c, --change list            Применяет инструкции Dockerfile для создаваемого образа.

  -m, --message string    Установит commit message для импортированного образа.

      --platform string       Установит платформу, если сервер поддерживает несколько платформ (multi-platform capable).

Практическое использование:

docker import ~/archive.tar.gz img_name
docker images
docker run -it --name имя_контейнера img_name /bin/bash

Использование:

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

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

Псевдонимы: docker container run, docker run.

Options:

      --add-host list                       Добавит пользовательское отображение
                                                  хоста на IP (host:ip)

      --annotation map                   Добавит аннотацию к контейнеру (переданную
                                                  через OCI runtime) (default map[])

  -a, --attach list                          Присоединение к STDIN, STDOUT или STDERR

      --blkio-weight uint16              Block IO (относительный вес), между
                                                  10 и 1000, или 0 для запрета (default 0)

      --blkio-weight-device list         Block IO weight (relative device
                                                  weight) (default [])

      --cap-add list                         Add Linux capabilities

      --cap-drop list                        Drop Linux capabilities

      --cgroup-parent string            Optional parent cgroup для контейнера

      --cgroupns string                   Cgroup namespace для использования
                                                 (host|private)

                                         'host':    Запуск контейнера в Docker
                                         cgroup namespace хоста
                                         'private': Запуск контейнера в своем
                                         собственном private cgroup namespace
                                         '':        Использование cgroup namespace
                                         как сконфигурировано опцией default-cgroupns-mode
                                         на демоне (default)

      --cidfile string                       Записать container ID в файл

      --cpu-period int                    Ограничить период CPU CFS (Completely Fair
                                                 Scheduler)

      --cpu-quota int                     Ораничить квоту CPU CFS (Completely Fair
                                                 Scheduler)

      --cpu-rt-period int                Ограничить CPU real-time period
                                                 в микросекундах

      --cpu-rt-runtime int              Ограничить CPU real-time runtime
                                                 в микросекундах

  -c, --cpu-shares int                   CPU shares (relative weight)

      --cpus decimal                      Количество CPU

      --cpuset-cpus string              CPU, в которых разрешено выполнение
                                                 (0-3, 0,1)

      --cpuset-mems string            MEM, в которых разрешено выполнение
                                                 (0-3, 0,1)

  -d, --detach                              Запустить контейнер в фоне и напечатать
                                                 container ID

      --detach-keys string              Переназначить key sequence для
                                                 отсоединенного контейнера

      --device list                          Добавить устройство хоста к контейнеру

      --device-cgroup-rule list         Добавить правило к cgroup allowed
                                                  списку устройств

      --device-read-bps list             Ограничить read rate (байт в секунду)
                                                  из устройства (default [])

      --device-read-iops list            Ограничить read rate (IO в секунду)
                                                  из устройства (default [])

      --device-write-bps list            Ограничить write rate (байт в секунду)
                                                  в устройство (default [])

      --device-write-iops list           Ограничить write rate (IO в секунду)
                                                  в устройство (default [])

      --disable-content-trust           Пропустить проверку образа (default
                                                  true)

      --dns list                               Установить свои сервера DNS

      --dns-option list                     Установить опции DNS

      --dns-search list                    Установить свой DNS-поиск доменов

      --domainname string             Container NIS domain name

      --entrypoint string                 Перезаписать default ENTRYPOINT образа

  -e, --env list                              Установить переменные окружения

      --env-file list                         Прочитать переменные окружения в файле

      --expose list                         Expose порт или диапазона портов

      --gpus gpu-request               GPU devices для добавления в контейнер
                                                 ('all' чтобы передать все GPU)

      --group-add list                     Добавить дополнительные группы к join

      --health-cmd string                Команда для run, чтобы выполнить
                                                  check health

      --health-interval duration        Время между запуском check
                                                   (ms|s|m|h) (default 0s)

      --health-retries int                  Последовательные отказы должны
                                                   report unhealthy

      --health-start-interval duration   Время между запуском check
                                                     во время start period
                                                     (ms|s|m|h) (default 0s)

      --health-start-period duration     Start period для контейнера, отведенный
                                                     для инициализации перед стартом
                                                     health-retries countdown
                                                     (ms|s|m|h) (default 0s)

      --health-timeout duration          Максимальное время, отведенное на одну
                                                    check (ms|s|m|h) (default 0s)

      --help                                      Печать подсказки

  -h, --hostname string                   Имя хоста контейнера

      --init                                       Запуск init внутри контейнера, который
                                                    перенаправит сигналы и reaps processes

  -i, --interactive                            Оставить STDIN открытым, даже если
                                                    он не присоединенный

      --ip string                                IPv4 address (e.g., 172.30.100.104)

      --ip6 string                              IPv6 address (e.g., 2001:db8::33)

      --ipc string                              Используемый режим IPC

      --isolation string                      Технология изоляции контейнера

      --kernel-memory bytes             Kernel memory limit

  -l, --label list                                Установка meta data на контейнере

      --label-file list                          Чтение меток в файле, метки разделены
                                                    в файле строками

      --link list                                 Добавить ссылку на другой контейнер

      --link-local-ip list                      Container IPv4/IPv6 link-local
                                                    addresses

      --log-driver string                    Лог-драйвер для контейнера

      --log-opt list                            Опции лог-драйвера

      --mac-address string                MAC-адрес контейнера (например
                                                    92:d0:c6:0a:29:33)

  -m, --memory bytes                     Memory limit

      --memory-reservation bytes      Memory soft limit

      --memory-swap bytes               Swap limit equal to memory plus
                                                     swap: '-1' чтобы разрешить unlimited swap

      --memory-swappiness int          Tune container memory swappiness
                                                     (0 to 100) (default -1)

      --mount mount                        Присоединить монтирование файловой
                                                    системы к контейнеру

      --name string                          Назначить имя контейнеру

      --network network                   Подключить контейнер к сети

      --network-alias list                   Добавить network-scoped alias для
                                                    контейнера

      --no-healthcheck                      Запретить любой container-specified
                                                    HEALTHCHECK

      --oom-kill-disable                     Запретить OOM Killer

      --oom-score-adj int                  Настроить OOM preferences хоста
                                                    (-1000 .. 1000)

      --pid string                              Используемое PID namespace

      --pids-limit int                          Настроить pids limit контейнера
                                                     (-1 для unlimited)

      --platform string                       Установить платформу, если сервер
                                                     multi-платформенный

      --privileged                              Дать расширенные привилегии для
                                                     этого контейнера

  -p, --publish list                           Опубликовать порт (порты) контейнера
                                                    на хост

  -P, --publish-all                            Публиковать все exposed порты на
                                                    случайные порты

      --pull string                             Pull образа перед запуском
                                                    ("always", "missing", "never")
                                                    (default "missing")

  -q, --quiet                                   Подавить вывод pull

      --read-only                              Монтировать корневую файловую систему
                                                    контейнера только для чтения

      --restart string                         Перезапуск политики для применения,
                                                    когда контейнер существует (default "no")

      --rm                                        Автоматически удалить контейнер и его
                                                    связанные anonymous volumes, когда это
                                                    существует

      --runtime string                       Runtime для использования этим контейнером

      --security-opt list                     Опции безопасности

      --shm-size bytes                      Размер /dev/shm

      --sig-proxy                              Proxy received signals для обработки
                                                    (default true)

      --stop-signal string                  Сигнал для остановки контейнера

      --stop-timeout int                    Timeout (в секундах) для остановки
                                                    контейнера

      --storage-opt list                     Опции драйвера хранилища для контейнера

      --sysctl map                            Sysctl опции (default map[])

      --tmpfs list                              Монтирование директории tmpfs

  -t, --tty                                       Allocate pseudo-TTY

      --ulimit ulimit                          Ulimit опций (default [])

  -u, --user string                           Username или UID (format:
                                                    < name|uid>[:< group|gid>])

      --userns string                         Используемое namespace для пользователя

      --uts string                              Используемое UTS namespace

  -v, --volume list                           Bind mount a volume

      --volume-driver string              Опциональный volume driver для
                                                    контейнера

      --volumes-from list                  Mount volumes из указанного контейнера
                                                    (контейнеров)

  -w, --workdir string                      Рабочая директория внутри контейнера

Пример использования:

docker run -it --name имя_создаваемого_контейнера ID_образа /bin/bash

Команда остановит один или большее количество работающих контейнеров.

Использование:

docker container stop [OPTIONS] CONTAINER [CONTAINER...]

Псевдоним:

docker stop

[Описание]

Основной процесс, работающий внутри контейнера, примет сигнал SIGTERM, и после grace-периода сигнал SIGKILL. Первый сигнал может быть изменен инструкцией STOPSIGNAL в Dockerfile контейнера, или опцией --stop-signal при запуске контейнера docker run и docker create.

Опции:

Опция Описание
-s, --signal Сигнал, отправляемый контейнеру.
-t, --time Сколько секунд ждать перед kill-ингом контейнера.

Пример:

$ docker stop my_container

Остановка контейнера по сигналу (-s, --signal). Флаг --signal пошлет системный вызов сигнала контейнеру для выхода. Этот сигнал может быть именем сигнала в формате SIG< NAME>, например SIGKILL, или число без знака, соответствующее позиции в таблице сигналов ядра (kernel syscall table), например 9. См. справку signal(7) для доступных сигналов.

Сигнал по умолчанию StopSignal [3], который может быть установлен инструкцией STOPSIGNAL в Dockerfile, когда собирается образ, или он может быть сконфигурирован опцией --stop-signal при создании контейнера. Если не был задан сигнал при конфигурации контейнера, то по умолчанию используется SIGTERM

Остановка контейнера с таймаутом (-t, --timeout). Флаг --time установит количество секунд ожидания остановки контейнера после отправки предварительно определенного (см. --signal) сигнала. Если контейнер не выходит по истечении времени ожидания, он принудительно уничтожается сигналом SIGKILL.

Если вы установите --time в -1, то таймаут не применяется, и демон будет ждать бесконечно выхода контейнера.

Таймаут по умолчанию может быть указан с опомощью опции --stop-timeout при создании контейнера. Если для контейнера не был сконфигурирован таймаут. то демон сам определяет умолчание ожидания, и оно составляет 10 секунд для контейнеров Linux и 30 секунд для контейнеров Windows.

[Ссылки]

1. Команды docker save/load, docker export/import site:andybor.blogspot.com.
2. docker: справка по командам.
3. OCI Image Configuration site:github.com.

 

Добавить комментарий


Защитный код
Обновить

Top of Page