Шпаргалка по командам Docker

docker шпаргалка

Подробная шпаргалка по командам Docker

Docker я использую уже много лет, в своей предыдущей профессиональной деятельности и для клиентов моей компании, и мне хотелось поделиться своими знаниями, поэтому я написал эту Шпаргалка (Cheat Sheet) по командам Docker.

Шпаргалка по командам Docker включает: установку Docker, работу с реестрами и репозиториями, контейнерами, образами, сетью, Docker Swarm.

Содержание

Toggle

 

Docker – это программная платформа для быстрой разработки, тестирования и развертывания приложений. Docker упаковывает ПО в стандартизованные блоки, которые называются контейнерами. Каждый контейнер включает все необходимое для работы приложения: библиотеки, системные инструменты, код и среду исполнения. Благодаря Docker можно быстро развертывать и масштабировать приложения в любой среде и сохранять уверенность в том, что код будет работать.

Установка

Linux

curl -sSL https://get.docker.com/ | sh

Mac

Используйте эту ссылку для загрузки dmg.

https://download.docker.com/mac/stable/Docker.dmg

Windows

Используйте инсталлятор msi:

https://download.docker.com/win/stable/InstallDocker.msi

 

Реестры и репозитории Docker

Вход в реестр

docker logindocker login localhost:8080

Выход из реестра

docker logoutdocker logout localhost:8080

Поиск образа

docker search nginxdocker search nginx —stars=3 —no-trunc busybox

Извлечение образа

docker pull nginxdocker pull eon01/nginx localhost:5000/myadmin/nginx

Загрузка образа

docker push eon01/nginxdocker 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 rm infinite

Обновление контейнера

docker update —cpu-shares 512 -m 300M infinite

 

Запуск и остановка контейнеров

Запуск

docker start nginx

Остановка

docker stop nginx

Перезапуск

docker restart nginx

Приостановка (пауза)

docker pause nginx

Снятие с паузы

docker unpause nginx

Блокирование контейнера

docker wait nginx

Отправка сообщения SIGKILL

docker kill nginx

Подключение к существующему контейнеру

docker attach nginx

 

Получение информации о контейнерах

Работающие контейнеры

docker psdocker ps -a

Логи контейнеров

docker logs infinite

Инспектирование контейнеров

docker inspect infinitedocker inspect —format ‘{{ .NetworkSettings.IPAddress }}’ $(docker ps -q)

События контейнеров

docker events infinite

Публичные порты

docker port infinite

Запущенные (выполняемые) процессы

docker top infinite

Использование ресурсов контейнера

docker stats infinite

Проверка изменений файлов или каталогов в файловой системе контейнера

docker diff infinite

Управление образами

Список образов

docker images

Создание образов

docker build .docker build github.com/creack/docker-firefoxdocker build — < Dockerfiledocker build — < context.tar.gzdocker build -t eon/infinite .docker build -f myOtherDockerfile .curl example.com/remote/Dockerfile | docker build -f — .

Удаление образа

docker rmi nginx

Загрузка репозитория в формате Tar из файла или стандартного потока ввода

docker load < ubuntu.tar.gzdocker load —input ubuntu.tar

Сохранить образ в архив Tar

docker save busybox > ubuntu.tar

Показать историю образа

docker history

Создание образа из контейнера

docker commit nginx

Тегирование образа

docker tag nginx eon01/nginx

Загрузка образа

docker push eon01/nginx

 

Работа с сетью

Создание сетей

docker network create -d overlay MyOverlayNetworkdocker network create -d bridge MyBridgeNetworkdocker 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 ls

Получение информации о сети

docker network inspect MyOverlayNetwork

Подключение запущенного контейнера к сети

docker network connect MyOverlayNetwork nginx

Подключение контейнера к сети при его запуске

docker run -it -d —network=MyOverlayNetwork nginx

Отключение контейнера от сети

docker network disconnect MyOverlayNetwork nginx

Очистка Docker

Удаление работающего контейнера

docker rm nginx

Удаление контейнера и его тома

docker rm -v nginx

Удаление всех контейнеров со статусом exited

docker rm $(docker ps -a -f status=exited -q)

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

docker rm `docker ps -a -q`

Удаление образа Docker

docker rmi nginx

Удаление висячих (dangling) образов

docker rmi $(docker images -f dangling=true -q)

Удаление всех образов

docker rmi $(docker images -a -q)

Остановка и удаление всех контейнеров

docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q)

Удаление висячих (dangling) томов

docker volume rm $(docker volume ls -f dangling=true -q)

 

Docker Swarm

Установка Docker Swarm

curl -ssl https://get.docker.com | bash

Инициализация 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 ls

Список узлов

docker node ls

Создание службы

docker service create —name vote -p 8080:80 instavote/vote

Список заданий Swarm

docker service ps

Масштабирование службы

docker service scale vote=3

Обновление службы

docker service update —image instavote/vote:movies votedocker service update —force —update-parallelism 1 —update-delay 30s nginxdocker service update —update-parallelism 5—update-delay 2s —image instavote/vote:indent votedocker service update —limit-cpu 2 nginxdocker service update —replicas=5 nginx

Друзья помогите этому контенту стать доступнее в социальных сетях.

Не проходи мимо жмакни по кнопке возможно кому то еще он будет полезен!

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *