- docker container run
- Description
- Options
- Шпаргалка с командами Docker
- Установка
- Linux
- Mac
- Windows
- Реестры и репозитории Docker
- Вход в реестр
- Выход из реестра
- Поиск образа
- Pull (выгрузка из реестра) образа
- Push (загрузка в реестр) образа
- Первые действия с контейнерами
- Создание контейнера
- Первый запуск контейнера
- Переименование контейнера
- Удаление контейнера
- Обновление контейнера
- Запуск и остановка контейнеров
- Запуск остановленного контейнера
- Остановка
- Перезагрузка
- Пауза (приостановка всех процессов контейнера)
- Снятие паузы
- Блокировка (до остановки контейнера)
- Отправка SIGKILL (завершающего сигнала)
- Отправка другого сигнала
- Подключение к существующему контейнеру
- Получение информации о контейнерах
- Работающие контейнеры
- Логи контейнера
- Информация о контейнере
- События контейнера
- Публичные порты
- Выполняющиеся процессы
- Использование ресурсов
- Изменения в файлах или директориях файловой системы контейнера
- Управление образами
- Список образов
- Создание образов
- Удаление образа
- Загрузка репозитория в tar (из файла или стандартного ввода)
- Сохранение образа в tar-архив
- Просмотр истории образа
- Создание образа из контейнера
- Тегирование образа
- Push (загрузка в реестр) образа
- Сеть
- Создание сети
- Удаление сети
- Список сетей
- Получение информации о сети
- Подключение работающего контейнера к сети
- Подключение контейнера к сети при его запуске
- Отключение контейнера от сети
- Очистка Docker
- Удаление работающего контейнера
- Удаление контейнера и его тома (volume)
- Удаление всех контейнеров со статусом exited
- Удаление всех остановленных контейнеров
- Удаление контейнеров, остановленных более суток назад
- Удаление образа
- Удаление неиспользуемых (dangling) образов
- Удаление неиспользуемых (dangling) образов даже с тегами
- Удаление всех образов
- Удаление всех образов без тегов
- Остановка и удаление всех контейнеров
- Удаление неиспользуемых (dangling) томов
- Удаление неиспользуемых (dangling) томов по фильтру
- Удаление неиспользуемых сетей
- Удаление всех неиспользуемых объектов
- Docker Swarm
- Установка Docker Swarm
- Инициализация Swarm
- Подключение рабочего узла (worker) к Swarm
- Подключение управляющего узла (manager) к Swarm
- Список сервисов
- Список узлов
- Создание сервиса
- Список заданий Swarm
- Масштабирование сервиса
- Обновление сервиса
- P.S.
docker container run
Refer to the options section for an overview of available OPTIONS for this command.
Description
See docker run for more information.
Options
Name, shorthand | Default | Description |
—add-host | Add a custom host-to-IP mapping (host:ip) | |
—annotation | API 1.43+ Add an annotation to the container (passed through to the OCI runtime) | |
—attach , -a | Attach to STDIN, STDOUT or STDERR | |
—blkio-weight | Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0) | |
—blkio-weight-device | Block IO weight (relative device weight) | |
—cap-add | Add Linux capabilities | |
—cap-drop | Drop Linux capabilities | |
—cgroup-parent | Optional parent cgroup for the container | |
—cgroupns | API 1.41+ Cgroup namespace to use (host|private) ‘host’: Run the container in the Docker host’s cgroup namespace ‘private’: Run the container in its own private cgroup namespace ‘’: Use the cgroup namespace as configured by the default-cgroupns-mode option on the daemon (default) | |
—cidfile | Write the container ID to the file | |
—cpu-count | CPU count (Windows only) | |
—cpu-percent | CPU percent (Windows only) | |
—cpu-period | Limit CPU CFS (Completely Fair Scheduler) period | |
—cpu-quota | Limit CPU CFS (Completely Fair Scheduler) quota | |
—cpu-rt-period | Limit CPU real-time period in microseconds | |
—cpu-rt-runtime | Limit CPU real-time runtime in microseconds | |
—cpu-shares , -c | CPU shares (relative weight) | |
—cpus | Number of CPUs | |
—cpuset-cpus | CPUs in which to allow execution (0-3, 0,1) | |
—cpuset-mems | MEMs in which to allow execution (0-3, 0,1) | |
—detach , -d | Run container in background and print container ID | |
—detach-keys | Override the key sequence for detaching a container | |
—device | Add a host device to the container | |
—device-cgroup-rule | Add a rule to the cgroup allowed devices list | |
—device-read-bps | Limit read rate (bytes per second) from a device | |
—device-read-iops | Limit read rate (IO per second) from a device | |
—device-write-bps | Limit write rate (bytes per second) to a device | |
—device-write-iops | Limit write rate (IO per second) to a device | |
—disable-content-trust | true | Skip image verification |
—dns | Set custom DNS servers | |
—dns-option | Set DNS options | |
—dns-search | Set custom DNS search domains | |
—domainname | Container NIS domain name | |
—entrypoint | Overwrite the default ENTRYPOINT of the image | |
—env , -e | Set environment variables | |
—env-file | Read in a file of environment variables | |
—expose | Expose a port or a range of ports | |
—gpus | API 1.40+ GPU devices to add to the container (‘all’ to pass all GPUs) | |
—group-add | Add additional groups to join | |
—health-cmd | Command to run to check health | |
—health-interval | Time between running the check (ms|s|m|h) (default 0s) | |
—health-retries | Consecutive failures needed to report unhealthy | |
—health-start-period | Start period for the container to initialize before starting health-retries countdown (ms|s|m|h) (default 0s) | |
—health-timeout | Maximum time to allow one check to run (ms|s|m|h) (default 0s) | |
—help | Print usage | |
—hostname , -h | Container host name | |
—init | Run an init inside the container that forwards signals and reaps processes | |
—interactive , -i | Keep STDIN open even if not attached | |
—io-maxbandwidth | Maximum IO bandwidth limit for the system drive (Windows only) | |
—io-maxiops | Maximum IOps limit for the system drive (Windows only) | |
—ip | IPv4 address (e.g., 172.30.100.104) | |
—ip6 | IPv6 address (e.g., 2001:db8::33) | |
—ipc | IPC mode to use | |
—isolation | Container isolation technology | |
—kernel-memory | Kernel memory limit | |
—label , -l | Set meta data on a container | |
—label-file | Read in a line delimited file of labels | |
—link | Add link to another container | |
—link-local-ip | Container IPv4/IPv6 link-local addresses | |
—log-driver | Logging driver for the container | |
—log-opt | Log driver options | |
—mac-address | Container MAC address (e.g., 92:d0:c6:0a:29:33) | |
—memory , -m | Memory limit | |
—memory-reservation | Memory soft limit | |
—memory-swap | Swap limit equal to memory plus swap: ‘-1’ to enable unlimited swap | |
—memory-swappiness | -1 | Tune container memory swappiness (0 to 100) |
—mount | Attach a filesystem mount to the container | |
—name | Assign a name to the container | |
—network | Connect a container to a network | |
—network-alias | Add network-scoped alias for the container | |
—no-healthcheck | Disable any container-specified HEALTHCHECK | |
—oom-kill-disable | Disable OOM Killer | |
—oom-score-adj | Tune host’s OOM preferences (-1000 to 1000) | |
—pid | PID namespace to use | |
—pids-limit | Tune container pids limit (set -1 for unlimited) | |
—platform | Set platform if server is multi-platform capable | |
—privileged | Give extended privileges to this container | |
—publish , -p | Publish a container’s port(s) to the host | |
—publish-all , -P | Publish all exposed ports to random ports | |
—pull | missing | Pull image before running ( always , missing , never ) |
—quiet , -q | Suppress the pull output | |
—read-only | Mount the container’s root filesystem as read only | |
—restart | no | Restart policy to apply when a container exits |
—rm | Automatically remove the container when it exits | |
—runtime | Runtime to use for this container | |
—security-opt | Security Options | |
—shm-size | Size of /dev/shm | |
—sig-proxy | true | Proxy received signals to the process |
—stop-signal | Signal to stop the container | |
—stop-timeout | Timeout (in seconds) to stop a container | |
—storage-opt | Storage driver options for the container | |
—sysctl | Sysctl options | |
—tmpfs | Mount a tmpfs directory | |
—tty , -t | Allocate a pseudo-TTY | |
—ulimit | Ulimit options | |
—user , -u | Username or UID (format: | |
—userns | User namespace to use | |
—uts | UTS namespace to use | |
—volume , -v | Bind mount a volume | |
—volume-driver | Optional volume driver for the container | |
—volumes-from | Mount volumes from the specified container(s) | |
—workdir , -w | Working directory inside the container |
Шпаргалка с командами Docker
Прим. перев.: Неделю назад Aymen El Amri, руководящий компанией eralabs и создавший обучающий курс «Безболезненный Docker», опубликовал свой Docker Cheat Sheet — шпаргалку по основным командам Docker. Git-репозиторий этого документа на GitHub уже набрал 1000+ stars и несколько сторонних контрибьюторов, что подтвердило его актуальность и пользу.
Представленные здесь команды описаны минимально (с акцентом на читаемость как есть) и включают в себя установку Docker, работу с реестрами и репозиториями, контейнерами, образами, сетью, Docker Swarm. Ниже представлен перевод шпаргалки в её состоянии на 2 сентября с дополнениями из комментариев ниже.
Установка
Linux
curl -sSL https://get.docker.com/ | sh
Mac
https://download.docker.com/mac/stable/Docker.dmg
Windows
https://download.docker.com/win/stable/InstallDocker.msi
Реестры и репозитории Docker
Вход в реестр
docker login localhost:8080
Выход из реестра
docker logout localhost:8080
Поиск образа
docker search nginx -- filter stars=3 --no-trunc busybox
Pull (выгрузка из реестра) образа
docker pull eon01/nginx localhost:5000/myadmin/nginx
Push (загрузка в реестр) образа
docker push eon01/nginx localhost:5000/myadmin/nginx
Первые действия с контейнерами
Создание контейнера
docker create -t -i eon01/infinite --name infinite
Первый запуск контейнера
docker run -it --name infinite -d eon01/infinite
Переименование контейнера
docker rename infinite infinity
Удаление контейнера
Обновление контейнера
docker update --cpu-shares 512 -m 300M infinite
Запуск и остановка контейнеров
Запуск остановленного контейнера
Остановка
Перезагрузка
Пауза (приостановка всех процессов контейнера)
Снятие паузы
Блокировка (до остановки контейнера)
Отправка SIGKILL (завершающего сигнала)
Отправка другого сигнала
Подключение к существующему контейнеру
Получение информации о контейнерах
Работающие контейнеры
Логи контейнера
Информация о контейнере
docker inspect --format '>' $(docker ps -q)
События контейнера
Публичные порты
Выполняющиеся процессы
Использование ресурсов
Изменения в файлах или директориях файловой системы контейнера
Управление образами
Список образов
Создание образов
docker build github.com/creack/docker-firefox
docker build -t eon/infinite .
docker build -f myOtherDockerfile .
curl example.com/remote/Dockerfile | docker build -f - .
Удаление образа
Загрузка репозитория в tar (из файла или стандартного ввода)
docker load --input ubuntu.tar
Сохранение образа в tar-архив
docker save busybox > ubuntu.tar
Просмотр истории образа
Создание образа из контейнера
Тегирование образа
docker tag nginx eon01/nginx
Push (загрузка в реестр) образа
Сеть
Создание сети
docker network create -d overlay MyOverlayNetwork
docker network create -d bridge MyBridgeNetwork
docker network create -d overlay \ --subnet=192.168.0.0/16 \ --subnet=192.170.0.0/16 \ --gateway=192.168.0.100 \ --gateway=192.170.0.100 \ --ip-range=192.168.1.0/24 \ --aux-address="my-router=192.168.1.5" --aux-address="my-switch=192.168.1.6" \ --aux-address="my-printer=192.170.1.5" --aux-address="my-nas=192.170.1.6" \ MyOverlayNetwork
Удаление сети
docker network rm MyOverlayNetwork
Список сетей
Получение информации о сети
docker network inspect MyOverlayNetwork
Подключение работающего контейнера к сети
docker network connect MyOverlayNetwork nginx
Подключение контейнера к сети при его запуске
docker run -it -d --network=MyOverlayNetwork nginx
Отключение контейнера от сети
docker network disconnect MyOverlayNetwork nginx
Очистка Docker
Удаление работающего контейнера
Удаление контейнера и его тома (volume)
Удаление всех контейнеров со статусом exited
docker rm $(docker ps -a -f status=exited -q)
Удаление всех остановленных контейнеров
Удаление контейнеров, остановленных более суток назад
docker container prune --filter "until=24h"
Удаление образа
Удаление неиспользуемых (dangling) образов
docker rmi $(docker images -f dangling=true -q)
Удаление неиспользуемых (dangling) образов даже с тегами
Удаление всех образов
docker rmi $(docker images -a -q)
Удаление всех образов без тегов
docker rmi -f $(docker images | grep "^" | awk "")
Остановка и удаление всех контейнеров
docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q)
Удаление неиспользуемых (dangling) томов
docker volume rm $(docker volume ls -f dangling=true -q)
Удаление неиспользуемых (dangling) томов по фильтру
docker volume prune --filter "label!=keep"
Удаление неиспользуемых сетей
Удаление всех неиспользуемых объектов
docker system prune --volumes
Docker Swarm
Установка Docker Swarm
curl -ssl https://get.docker.com | bash
Прим. перев.: в Docker версий 1.12.0+ ничего дополнительно устанавливать не требуется, т.к. Docker Swarm встроен в Docker Engine в виде специального режима (Swarm mode).
Инициализация Swarm
docker swarm init --advertise-addr 192.168.10.1
Подключение рабочего узла (worker) к Swarm
docker swarm join-token worker
Подключение управляющего узла (manager) к Swarm
docker swarm join-token manager
Список сервисов
Список узлов
Создание сервиса
docker service create --name vote -p 8080:80 instavote/vote
Список заданий Swarm
Масштабирование сервиса
docker service scale vote=3
Обновление сервиса
docker service update --image instavote/vote:movies vote
docker service update --force --update-parallelism 1 --update-delay 30s nginx
docker service update --update-parallelism 5--update-delay 2s --image instavote/vote:indent vote
docker service update --limit-cpu 2 nginx
docker service update --replicas=5 nginx
P.S.
Прим. перев.: Напомню, что оригинальная (англоязычная) версия Docker Cheat Sheet доступна и обновляется в Git-репозитории. Автор будет рад исправлениям/пополнениям от сообщества.
Читайте также в нашем блоге: