Alex
Всем привет. Скажите пожалуйста, можно ли как-то отключить сеть для контейнера в docker-compose.yaml?? или просто в Dockerfile написать --network none ???
Могу ошибаться, но 3-ей версии вроде если не указать её явно для контейнера, то она не будет доступна в контейнере
Anonymous
Terra docker-compose
Anonymous
файл нужен??
Anonymous
для простоты?
Anonymous
ну тогда просто network_mode: "none" в определении сервиса
Anonymous
спасибо
Anonymous
Terra что то идет не так ( прописал для контейнера network_mode: "none", но пингануть все равно могу его
Anonymous
Anonymous
что я не так сделал?
Anonymous
Все хорошо) Спасибо
Anonymous
Скажите, если я заблочил генерацию ip и прописал все линки, по какой причине apache не видит php и mysql???
Gaiaz
Скажите, если я заблочил генерацию ip и прописал все линки, по какой причине apache не видит php и mysql???
Depends нужен как я понимаю, иначе апач может стартовать раньше пыхи и ничего не получается из-за этого
Boris
depends или network сделайте
Alex
Так есть же вроде php:apache
Anonymous
depends или network сделайте
network как раз отключил
Anonymous
Так есть же вроде php:apache
он то есть, но апач не видит php и mysql
Alex
network как раз отключил
А почему спрашиваете почему контейнеры друг друга не видят
Alex
Не пробовал нетворк ноне но по умолчанию если ничего в сетях не трогать то все друг друга видят по имени сервиса
Alex
Клннектитесь в вашем случае к mysql:3306 или какой-то там порт был на память не помню
Anonymous
Не пробовал нетворк ноне но по умолчанию если ничего в сетях не трогать то все друг друга видят по имени сервиса
Это так.но мне надо по заданию отключить генерацию ip и связать контейнеры между собой. А доступ к ним по ssh сделать. порт 3306 занят) взял другой порт. с network все работало )
Alex
может есть способ обойтись без отключения сети ?
Alex
ну или наружу кидайте все порты и через хостовую машину соединяйтесь
Alex
но это совсем плохо помоему
Anonymous
Может кто делал такое?? или это дичь полная?
Alex
а зачем все это?
Alex
может другие варианты есть
Anonymous
задача такая(
Anonymous
вообще возможно после отключения network связать контейнеры?
Alex
хз, кстати в конфиге у вас сеть отключена только для апача, все остальные должны быть соединены
Alex
для всех разом надо описывать в networks на одном уровне с services
Alex
если вам нужна какаято преконфигурированная сеть не динамическая попробуйте копнуть в стороне docker network
Alex
там много всякого, может то что надо найдется
Alex
version: '3' services: stats: image: node:alpine working_dir: /usr/src/app ports: - '8080:8080' volumes: - .:/usr/src/app environment: - NODE_ENV=dev - MONGOGIFT_CONNECTION=${MONGOGIFT_CONNECTION} - MONGOGIFT_DBNAME=${MONGOGIFT_DBNAME} command: npm run nodemon networks: default: external: name: ${NETWORK_NAME}
Alex
тут правда один контейнер, но для нескольких будет примерно тоже
Anonymous
спасибо
Alex
как туда сделать none хз
Dan
👌
Gaiaz
Можно как вариант доступ к сети отключить через конфиг пыхи
Alexander
Товарищи, есть docker-compose: version: "3" services: balancer: image: nginx:alpine ports: - "127.0.0.1:1480:80" depends_on: - api - proxy volumes: - ./app_work_dir/nginx/nginx.conf:/etc/nginx/nginx.conf logging: driver: none api: image: A expose: - "8080" healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8080/health"] restart: on-failure:1 proxy: image: B expose: - "9090" healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9090/health"]
Alexander
Хочу добиться поведения, при котором после смерти сервиса api он перезапускается демоном докера, после чего зависимый от него сервис balancer тоже перезапускается
Alexander
Сейчас происходит следующее: после смерти сервиса api он перезапускается, но запросы до него больше не доходят: nginx возвращается 502 код ответа, что вполне логично, ведь реальный IP адрес контейнера api изменился. Проблему, разумеется, исправляет перезапуск непосредственно сервиса balancer, но делать это руками очень неудобно
Alexander
Кажется, нашел решение проблемы самостоятельно. Нужно заставить nginx периодически обновлять IP адрес для хоста: resolver 127.0.0.11 valid=5s;
Je
Кажется, нашел решение проблемы самостоятельно. Нужно заставить nginx периодически обновлять IP адрес для хоста: resolver 127.0.0.11 valid=5s;
Есть такая же проблема и так же решил, однако, это не самое лучшее решение по HA. Пять секунд сервис поваляется. Рекомендуют использовать traefic
Alexander
Пока нужно быстро решить проблему. 5 секунд -- терпимо, смерть случается крайне редко
Alexander
Спасибо, уже читал о traefic, но пока руки не дошли
Je
Аналогичная ситуация, тем более еще есть некоторая статика, которую nginx между делом раздает, по идее все нужно разделять
Anonymous
а почему вы используете hginx?
Alexander
А что вы порекомендовали бы использовать? С nginx на данный момент есть некоторый опыт 🙂
Je
А почему не использовать? Вроде исторически как балансер для приложений ок заходит, но с докером не особенно дружит по упомянутой выше причине
Anonymous
это просто любопытство) У меня все на apache2 рабоиает
Je
апач это середина нулевых
Anonymous
ахаахахах) может быть
Anonymous
Может быть кто нибудь посоветует методу по докеру на русском (желательно для php), но не документацию на оф сайте )
Bohdan
ага, спасибо, схоронил
Alexander
Вот здесь все подробно написано: https://medium.com/@joatmon08/using-containers-to-learn-nginx-reverse-proxy-6be8ac75a757
Alexander
@jerunman а вы только resolver добавили и больше ничего? Не делали эти танцы с отдельной переменной и rewrite?
Alex
всем привет имеется оверлей нетворк и 3 хоста в сварме на одном из которых крутится контейнер с мускулом, порты наружу не прокинуты. Свой локальную машину добавил в сварм и хочу с нее цеплятся к базам инструментами типа sqlyog. Вижу как контейнер на локальной машине в котором прокинуты порты до мускула, но чет дичь какаято помоему, подскажите плиз способ получше.
Je
@jerunman а вы только resolver добавили и больше ничего? Не делали эти танцы с отдельной переменной и rewrite?
Нет, rewrite есть, но он для собственно роутинга. Проблемы сейчас вроде нет с повисанием nginx на старом ip
Je
А есть вообще у nginx нормальный способ интегрироваться с SA бэкендом, отличным от DNS? Прочитал это https://medium.com/@micheldlebeau/use-consul-as-a-load-balancer-with-nginx-b1f6f887677d Пишут следующее: >We run consul-template again, taking our template as an input, and generating nginx.conf as an output, and every time it will change, the nginx-lb container, which will contain the nginx load balancer, will be restarted, so that the new configuration can be used.
Alexander
Тоже читал это
Andrey
Привет всем. А можно сделать докер из двух имиджей сразу? Мне нужно что бы ява была и нода в одном контейнере. Или только брать один и копипастить из другого?
Kirill
Профит
Boris
Просто, логика выходит такая >Давайте изобретем докер, чтобы делить сервис на микросервисы >А теперь давайте сделаем все монолитом в одном микросервисе!
Bohdan
микромонолит
Bohdan
а зачем тебе и то и то в одном образе, если не секрет?
Bohdan
multistage билды использовать можно
Артур
react-native? 🙂
Bohdan
Там пустые папки, нету никакого контента
Dan
Там пустые папки, нету никакого контента
А может быть это борьба с пиратством?
Bohdan
А может быть это борьба с пиратством?
а в чем именно в этом случаи борьба заключается, в том что кидать ссылку на пустое харнилище?