- Watchtower — автоматическое обновление Docker-контейнеров
- Ctop — top-подобная утилита для вывода информации о контейнерах
- Легкая установка расширений PHP
- docker_nginx — Заглушка nginx
- 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)