Skip to content

Latest commit

 

History

History
101 lines (85 loc) · 7.21 KB

Docker.md

File metadata and controls

101 lines (85 loc) · 7.21 KB

Полезное

Сборки

  1. docker_nginx — Заглушка nginx
  2. docker_php_cli_start — Готовая сборка для консольного приложения
    • PHP + Composer + MySQL + Phinx (миграции) + phpMyAdmin (в dev окружении)
    • Два окружения, для прода и разработки
    • Makefile
    • Циклически выполняет код раз в минуту
    • README

Команды

Консоль [Все команды докера в оф.документации](https://docs.docker.com/engine/reference/commandline/docker/)
    docker images ##локальные образы
    docker images -q  ##вывесит образ_ид
    docker build -t hello .  ##собрать контейнер из образа
    docker ps  ##какие контейнеры запущены;
    docker ps -a  ##с учётом остановленных
    docker ps -a -q  ##вывести только ID контейнеров
    docker run имя_образа  ##запустить контейнер
    docker run --name имя_контейнера имя_образа  ##запустить и присвоить имя
    docker run -d имя_образа  ##запустить в фоне
    docker run --rm имя_образа  ##удалить контейнер по завершению
    docker run -e TZ=Europe/Moscow имя_образа  ##добавить переменную окружения
    docker run -p 8080:8080 имя_образа  ##пробросить порт 8080
    docker run -v /абс_путь_на_машине:путь_в_контейнере имя_образа  ##смонтируем папку
    docker stop  CONTAINER_ID/имя_контейнера  ##остановить контейнер
    docker kill имя_контейнера  ##убить процесс контейнера
    docker rm CONTAINER_ID/имя_контейнера  ##удалить контейнер
    docker rm $(docker ps -qa)  ##удалить все остановленные контейнеры (в Windows не работает)
    docker rmi имя_образа  ##удалить образ
    docker system prune  ##удалить, все остановленные контейнеры; все сети, которые не используются хотя бы одним
    контейнером; все висячие изображения; весь болтающийся кеш сборки
    docker logs  ##отобразить логи контейнера
    docker logs --follow контейнера  ##следить за логами работающей программы
    docker logs --details контейнера  ##больше данных
    docker exec -i -t <имя-или-id-контейнера> <команда>  ##запуск команды внутри контейнера
Docker [Все команды докера в оф.документации](https://docs.docker.com/engine/reference/commandline/docker/)

Директивы парсера

# escape=\ (backslash) ##устанавливает символ для экранирования. по умолчанию используется `

Установка экранирующего символа на особенно полезна в Windows, где \ используется в путях файловой системы. совместим с Windows PowerShell. В Windows лучше использовать директиву, `escape=``, чтоб иметь меньше проблем с путями в инструкциях.

Команды

FROM ##какой образ брать за основу
LABEL ##описывает метаданные. Например - сведения о том, кто создал и поддерживает образ.
ENV ##устанавливает постоянные переменные среды.
RUN ##выполняет команду и создаёт слой образа. Используется для установки в контейнер пакетов.
COPY ##копирует в контейнер файлы и папки
ADD ##копирует файлы и папки в контейнер, может распаковывать локальные .tar-файлы.
WORKDIR ##задаёт рабочую директорию для следующей инструкции.
CMD ###описывает команду с аргументами, которую нужно выполнить когда контейнер будет запущен. В файле может присутствовать лишь одна инструкция CMD.
ARG ##задаёт переменные для передачи Docker во время сборки образа.
ENTRYPOINT ##предоставляет команду с аргументами для вызова во время выполнения контейнера. Аргументы не
переопределяются.
EXPOSE ##указывает на необходимость открыть порт.
VOLUME ##создаёт точку монтирования для работы с постоянным хранилищем.
docker-compose - Аргументы для запуска
-f, --file FILE Альтернативный файл (default: docker-compose.yml)
-p, --project-name NAME ##задать имя проекта (default: directory name)
--profile NAME ##указание какие профили включить при запуске (позволяет добавлять различное
окружение) [Подробнее](https://docs.docker.com/compose/profiles/)
--verbose ##вывести больше информации при запуске
--ansi string ##когда распечатать символы управления ANSI ("never"|"always"|"auto") (default "auto")
--compatibility ##Запустить составить в режиме обратной совместимости
--env-file string ##Передать файл с другими переменными окружения
-v, --version ##версия
-H, --host HOST ##задать хост для подключения (так и не понял зачем это надо)
--skip-hostname-check ##Не проверяйте имя хоста демона против имени, указанного в клиентском сертификате
--project-directory PATH ##указать рабочую директорию (По умолчанию: Путь файла Compose)