Честно говоря не знаю. Я это дело как настроил себе год назад, с тех пор для нового проекта только копирую структуру директорий и 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 описываю проект
например
version: '2' services: project_db: image: mysql:{версия} .... environment: DNSDOCK_NAME: project DNSDOCK_IMAGE: db project_php: build: ./php{версия} .... project_nginx: depends_on: - project_php image: nginx .... environment: DNSDOCK_NAME: project DNSDOCK_IMAGE: site3) кастую 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