Pull to refresh
0
0
Евгений @artarn

Пользователь

Send message
я например использую 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: site


3) кастую docker-compose up -d

получаю проект mysql + php-fpm + nginx

в итоге на хост машине
mysql доступен по адресу project.db.docker например для workbench
nginx доступен по адресу http://project.site.docker

могу остановить в любой момент, поднять несколько разных проектов с разными версиями БД и php.

на самой хост машине mysql снес, php только версии 7.1
Честно говоря не знаю. Я это дело как настроил себе год назад, с тех пор для нового проекта только копирую структуру директорий и docker-compose.yaml. Потом bash скриптом массово переименовываю project на другой префикс.
Я на совоей Ubuntu использую tonistiigi/dnsdock.

Настраивается в два шага:
  1. прописываю в resolv.conf строку nameserver 172.17.42.1
  2. колдую docker run --name 'ddns' --restart=unless-stopped -d -v '/var/run/docker.sock:/run/docker.sock' -p '172.17.42.1:53:53/udp' tonistiigi/dnsdock -domain='docker'


где,
--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

Information

Rating
Does not participate
Location
Симферополь, Республика Крым, Россия
Date of birth
Registered
Activity