Size: a a a

RU.Docker — Официальное Русское Сообщество

2019 January 17

DZ

Dmitriy Z in RU.Docker — Официальное Русское Сообщество
при обновлении, например, версий контейнеров просто новый rc подымается, а у старого число реплик выставляется в 0
источник

MR

Maks Rafalko in RU.Docker — Официальное Русское Сообщество
👍 спасибо
источник

🕵

🕵🏻 Макс in RU.Docker — Официальное Русское Сообщество
Подскажите, network alias действует внутри сети networks. А если задать networks external, то alias распространяется на все external подсети?
источник

🕵

🕵🏻 Макс in RU.Docker — Официальное Русское Сообщество
Пример:
Есть некая сеть mynet с прокси
Есть две подсети с разными окружениями - prod и stage, которые работают через общий прокси. И выходит, что бэк с prod периодически пишет в базу или кеш на stage. Как их разрулить?
источник

MA

Maxim Avramenko in RU.Docker — Официальное Русское Сообщество
🕵🏻 Макс
Пример:
Есть некая сеть mynet с прокси
Есть две подсети с разными окружениями - prod и stage, которые работают через общий прокси. И выходит, что бэк с prod периодически пишет в базу или кеш на stage. Как их разрулить?
networks:
 my-network:
   external:
     name: my-network
источник

🕵

🕵🏻 Макс in RU.Docker — Официальное Русское Сообщество
да, так и написано
источник
2019 January 18

MA

Maxim Avramenko in RU.Docker — Официальное Русское Сообщество
🕵🏻 Макс
да, так и написано
А теперь рассказывайте, как так у вас вышло что ваш prod может дотянуться до stage сервера БД и ещё в кэш кучу навалить ?
Или можете показать docker-compose.yml что бы ускорить процесс получения совета
источник

🕵

🕵🏻 Макс in RU.Docker — Официальное Русское Сообщество
Maxim Avramenko
А теперь рассказывайте, как так у вас вышло что ваш prod может дотянуться до stage сервера БД и ещё в кэш кучу навалить ?
Или можете показать docker-compose.yml что бы ускорить процесс получения совета
Эти два окружения висели на одном сервере.

Вот docker-compose:

version: '2'
services:

 proxy:
   image: nginx
   container_name: stage-proxy
   restart: always
   depends_on:
     - app
   expose:
     - 80
   environment:
     VIRTUAL_HOST: stage.loc
   volumes:
     - ./config/nginx:/etc/nginx/conf.d:ro
     - ./logs/nginx/:/var/log/nginx:rw
   networks:
     stage:
       aliases:
         - proxy

 app:
   image: stage
   container_name: stage-cms
   restart: always
   depends_on:
     - mysql
   environment:
     YII_ENV: prod
     MYSQL_HOST: mysql
     MYSQL_DATABASE: web
     MYSQL_USER: web
     MYSQL_PASSWORD: web
   networks:
     stage:
       aliases:
         - app

 mysql:
   image: mysql:5.7
   container_name: stage-mysql
   restart: always
   ports:
     - "3306:3306"
   volumes:
     - ./config/mysql/mysql.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf:ro
     - ./data/mysql:/var/lib/mysql
     - ./logs/mysql:/var/log/mysql
   environment:
     MYSQL_ROOT_PASSWORD: web
     MYSQL_DATABASE: web
     MYSQL_USER: web
     MYSQL_PASSWORD: web
   command: mysqld --character-set-server=utf8 --collation-server=utf8_general_ci
   networks:
     stage:
       aliases:
         - mysql

 memcached:
   image: memcached
   container_name: stage-memcached
 restart: always
   ports:
     - "11211:11211"
   networks:
     stage:
       aliases:
         - memcached

networks:
 stage:
   external:
     name: srv_mynet
источник

🕵

🕵🏻 Макс in RU.Docker — Официальное Русское Сообщество
хмм... странно. Почему-то прокси оказался вообще в другой сети

version: '2'
services:

 proxy:
   image: neilpang/nginx-proxy
   container_name: proxy
   restart: always
   ports:
     - "80:80"
     - "443:443"
   volumes:
     - /var/run/docker.sock:/tmp/docker.sock:ro
     - /srv/proxy/certs:/etc/nginx/certs:Z
     - /srv/proxy/conf.d:/etc/nginx/conf.d
     - /srv/logs/nginx:/var/log/nginx:rw
   networks:
     worknet:

networks:
 worknet:
источник

🕵

🕵🏻 Макс in RU.Docker — Официальное Русское Сообщество
как он вообще тогда запросы проксирует... 😅
источник

MA

Maxim Avramenko in RU.Docker — Официальное Русское Сообщество
🕵🏻 Макс
Эти два окружения висели на одном сервере.

Вот docker-compose:

version: '2'
services:

 proxy:
   image: nginx
   container_name: stage-proxy
   restart: always
   depends_on:
     - app
   expose:
     - 80
   environment:
     VIRTUAL_HOST: stage.loc
   volumes:
     - ./config/nginx:/etc/nginx/conf.d:ro
     - ./logs/nginx/:/var/log/nginx:rw
   networks:
     stage:
       aliases:
         - proxy

 app:
   image: stage
   container_name: stage-cms
   restart: always
   depends_on:
     - mysql
   environment:
     YII_ENV: prod
     MYSQL_HOST: mysql
     MYSQL_DATABASE: web
     MYSQL_USER: web
     MYSQL_PASSWORD: web
   networks:
     stage:
       aliases:
         - app

 mysql:
   image: mysql:5.7
   container_name: stage-mysql
   restart: always
   ports:
     - "3306:3306"
   volumes:
     - ./config/mysql/mysql.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf:ro
     - ./data/mysql:/var/lib/mysql
     - ./logs/mysql:/var/log/mysql
   environment:
     MYSQL_ROOT_PASSWORD: web
     MYSQL_DATABASE: web
     MYSQL_USER: web
     MYSQL_PASSWORD: web
   command: mysqld --character-set-server=utf8 --collation-server=utf8_general_ci
   networks:
     stage:
       aliases:
         - mysql

 memcached:
   image: memcached
   container_name: stage-memcached
 restart: always
   ports:
     - "11211:11211"
   networks:
     stage:
       aliases:
         - memcached

networks:
 stage:
   external:
     name: srv_mynet
name: srv_mynet в последней строке замените на
name: stage
это первое
источник

MA

Maxim Avramenko in RU.Docker — Официальное Русское Сообщество
🕵🏻 Макс
хмм... странно. Почему-то прокси оказался вообще в другой сети

version: '2'
services:

 proxy:
   image: neilpang/nginx-proxy
   container_name: proxy
   restart: always
   ports:
     - "80:80"
     - "443:443"
   volumes:
     - /var/run/docker.sock:/tmp/docker.sock:ro
     - /srv/proxy/certs:/etc/nginx/certs:Z
     - /srv/proxy/conf.d:/etc/nginx/conf.d
     - /srv/logs/nginx:/var/log/nginx:rw
   networks:
     worknet:

networks:
 worknet:
Здесь можно удалить все упоминания
network:
 worknet:
Будет создана сеть с именем поумолчанию и контейнеры будут видеть друг друга по имени сервиса
источник

🕵

🕵🏻 Макс in RU.Docker — Официальное Русское Сообщество
Maxim Avramenko
name: srv_mynet в последней строке замените на
name: stage
это первое
networks:
 stage:
   external:
     name: stage

?
источник

🕵

🕵🏻 Макс in RU.Docker — Официальное Русское Сообщество
А!!! Дошло. Дайте угадаю. Если у меня запущен prod тоже с

networks:
 stage:
   external:
     name: srv_mynet

То контейнеры и попадают все в одну сеть с одинаковыми алиасами. И гадят друг другу к кеш?
источник

MA

Maxim Avramenko in RU.Docker — Официальное Русское Сообщество
🕵🏻 Макс
А!!! Дошло. Дайте угадаю. Если у меня запущен prod тоже с

networks:
 stage:
   external:
     name: srv_mynet

То контейнеры и попадают все в одну сеть с одинаковыми алиасами. И гадят друг другу к кеш?
А ты сообразительный, схватываешь налету, будем следить за твоими успехами
источник

🕵

🕵🏻 Макс in RU.Docker — Официальное Русское Сообщество
Maxim Avramenko
А ты сообразительный, схватываешь налету, будем следить за твоими успехами
Понятно. Как-то я не так разобрался в работе external ))
Спасибо огромное!
источник

MA

Maxim Avramenko in RU.Docker — Официальное Русское Сообщество
🕵🏻 Макс
Понятно. Как-то я не так разобрался в работе external ))
Спасибо огромное!
Держи нас в курсе своих успехов
источник

🕵

🕵🏻 Макс in RU.Docker — Официальное Русское Сообщество
источник

KG

Kirill Galinurov in RU.Docker — Официальное Русское Сообщество
источник

KG

Kirill Galinurov in RU.Docker — Официальное Русское Сообщество
источник