- 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-репозитории. Автор будет рад исправлениям/пополнениям от сообщества.
Читайте также в нашем блоге: