Честно говоря не знаю. Я это дело как настроил себе год назад, с тех пор для нового проекта только копирую структуру директорий и docker-compose.yaml. Потом bash скриптом массово переименовываю project на другой префикс.
где,
--restart=unless-stopped — авто перезапуск dnsdock контейнера после перезагрузки компьютера или возникновении ошибки в контейнере
-p '172.17.42.1:53:53/udp' — проброс DNS сервиса на ip docker0 интерфейса
-domain='docker' — домен наших контейнеров.
Адрес контейнера формируется из переменных окружения DNSDOCK_NAME, DNSDOCK_IMAGE и домена который был указан при запуске dnsdock
Например в docker-compose контейнеру nginx я добавляю переменные окружения DNSDOCK_NAME и DNSDOCK_IMAGE
project_nginx:
image: nginx
…
environment:
DNSDOCK_NAME: site
DNSDOCK_IMAGE: project
и после запуска контейнера, сразу могу стучаться по адресу http://site.project.docker
1) в системе крутится DNS docker контейнер tonistiigi/dnsdock
2) через docker-compose.yml описываю проект
например
3) кастую docker-compose up -d
получаю проект mysql + php-fpm + nginx
в итоге на хост машине
mysql доступен по адресу project.db.docker например для workbench
nginx доступен по адресу http://project.site.docker
могу остановить в любой момент, поднять несколько разных проектов с разными версиями БД и php.
на самой хост машине mysql снес, php только версии 7.1
Настраивается в два шага:
где,
--restart=unless-stopped — авто перезапуск dnsdock контейнера после перезагрузки компьютера или возникновении ошибки в контейнере
-p '172.17.42.1:53:53/udp' — проброс DNS сервиса на ip docker0 интерфейса
-domain='docker' — домен наших контейнеров.
Адрес контейнера формируется из переменных окружения DNSDOCK_NAME, DNSDOCK_IMAGE и домена который был указан при запуске dnsdock
Например в docker-compose контейнеру nginx я добавляю переменные окружения DNSDOCK_NAME и DNSDOCK_IMAGE
project_nginx:
image: nginx
…
environment:
DNSDOCK_NAME: site
DNSDOCK_IMAGE: project
и после запуска контейнера, сразу могу стучаться по адресу http://site.project.docker