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 <container> Выводит техническую информацию о контейнере.
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