Шпаргалка 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’
Комментариев пока что ниту, может ты чирканёшь первый, мне будет очень приятно!=)