article.title

Шпаргалка Docker , основные команды.

Никогда не будет лишней.


Здесь я собираю наиболее полезные команды используемые при разработке с использованием контейнеров Docker


Создание и управление образами images

docker build -t <идентификатор> Создаёт образ вашего приложения

docker images Возвращает все существующие на вашем компьютере ( локальные ) образы.

docker rmi <идентификатор> Удаляет локальный образ найденный по имени или ID

docker tag <старое имя> <новое имя> Переименовывает локальный образ меняя его имя со <старое имя> на <новое имя>

docker pull <идентификатор> Скачивает образ, с основного репозитория Docker, если образ существует.

docker push <идентификатор> Опубликовывает ваш образ в главном репозитории Docker.


Запуск и управление контейнерами Docker.

docker run -it -d Запускает контейнер в скрытом режиме (-d) на основе образа <образ>

docker run -d (скрытно) --rm (удалить после остановки) -p 80:80 (порт хоста:порт контейнера) -e <переменная> = <значение> -v <том или путь на хосте>/<путь внутри контейнера> --name <имя контейнера> <имя образа>

docker ps Выводит в консоль список всех активных контейнеров.

docker ps -a Выводит в консоль список всех контейнеров, как активных, так и неактивных.

docker stop <идентификатор> Останавливает контейнер найденный по идентификатору.

docker rm -f <идентификатор> Удаляет контейнер найденный по идентификатору.

docker logs -f <идентификатор> Выводит логи событий происходящих в контейнере найденного по идентификатору.

docker exec <идентификатор> <команда> Запускает выполнение команды в контейнере.

docker exec -ti <идентификатор> bash Открывает командную строку BASH контейнера

docker inspect <идентификатор> Выводит техническую информацию о контейнере.

docker stop $(docker ps -aq) Останавливает все активные контейнеры.

docker rm $(docker ps -aq) Удаляет все остановленные контейнеры.


Системные команды

docker info Выводит информацию о состоянии Docker, его версию, используемые ресурсы, существующие образы и т.д.

docker system prune Чистит все неиспользуемые образа, контейнеры, а так же сети (networks) и тома (volumes).


Dockerfile

**FROM** <идентификатор> Устанавливает базовый образ. (Идентификатор с репозитория или локальный)

**RUN** <*cmd*> Выполнение команд для настройки вашего образа Docker

**ADD** <*источник*> <*путь*> Копирует или скачивает файл(ы) из источника <*источник*> в указанный путь <*путь*>. Источник может быть ссылкой.

**COPY** <*источник*> <*путь*> Копирует файл(ы) из источника <*источник*> в указанный путь <*путь*>. Источник НЕ может быть ссылкой.

**ENV** <*имя*> = <*значение*> Устанавливает значения для переменных окружения доступных как для сборки, так и в процессе работы контейнера.

**VOLUME** <*порт*> Создаёт точку монтирования, для доступа к внешнему пространству хранилища изнутри контейнера.

**EXPOSE** <*порт*> Устанавливает какой порт будет прослушиваться контейнером. ( Это не публикация порта, порт останется недоступным извне контейнера. Для публикации необходимо добавить в команду docker run параметр -p <*внешний порт*> <*внутренний порт*> )

**WORKDIR** <*директория*> Рабочая директория внутри контейнера.

**ENTRYPOINT** <*cmd*> Устанавливает приложение/команду которая запустится при старте контейнера командой docker run

**USER** <*user*> Устанавливает пользователя или группы, от имени которого будет запускаться контейнер.

**CMD** <*cmd*> Устанавливает команду которая выполнится при старте контейнера командой‘docker run’


Комментариев пока что ниту, может ты чирканёшь первый, мне будет очень приятно!=)