Артём
Да сделай просто бридж для контейнеров и прокинь порт на хостовую
Артём
И обращайся по "ip хоста:порт прокинутый" если кто-то снаружи подключиться хочет. Или по "имени контенера:внутренний его порт" если межконтенерное взаимодействие
Артём
Днс докера резолвит ип по неймингу для контейнеров внутри бриджа
Виктор
Вот мой код
Виктор
Виктор
Вроде порты проброшены
Виктор
Давай попробуем бридж
Артём
Погоди
Артём
У тебя два сервиса. Бд (первое) и приложение (второе) и приложуха к базе конектиться должна, так?
Виктор
Виктор
Приложение коннектится должна к обеим бд
Артём
Можешь в енв "постгрес_хост" указать ип самой вм на которой контейнеры крутятся
Виктор
+ должна ждать запросы на порте 8091.
Артём
Это если у тебя нетворкмод хост
Виктор
Артём
А вообще по хорошему да, в бридж обоих. И приложуха по енв с именем контенера постгре к ней цепляется, а к ораклу по ип
Виктор
Артём
Артём
Артём
Только "driver: bridge"
Артём
И у каждого из описанных контейнеров в компосе указать эту сеть
Артём
Чтобы они в ней были
Виктор
Сейчас буду пробовать.. Спасибо
Артём
Крч два пути. Либо оставлять нетворкмод "хост" как у тебя сейчас. Либо загонять их в бридж.
Разница лишь в том что в первом случае у тебя все запросы будут лупбечиться вм самой к себе на её интерфейсе, а во втором взаимодействие будет внутри виртуальной сетки докера.
Второй вариант правильнее, но и первый будет работать
Артём
А к ораклу по ip:порт и так и так должно работать если сетевая доступность есть
Артём
Если делаешь бридж то в компосе надо убрать links и network_mode: host
Виктор
сетевая доступность есть. только странность в том, что на хост машине телнетится к бд вм оракл, а из контейнера приложения нет телнета по этому же порту
Виктор
при этом пинг идет до вм
Виктор
я подумал что у меня подсеть разная.
Виктор
и маска 255.255.255.0 - в контейнере, 255.255.0.0 - в вм
Виктор
вот из контейнера пинг идет в вм
Виктор
а телнет нет
Виктор
будто порт закрыт
Виктор
а по факту не закрыт
Виктор
будто проблема где то внутри контейнера, либо между докером и хост машиной
Артём
Не знаю особенности нетворкмодa host, тк никогда не использовал его если честно. На бриджах всегда все норм работало
Виктор
все. тогда попробую, отпишусь как рожу. я в докере вторую неделю разбираюсь.
Виктор
могу долго делать
Артём
Если хочешь в сетях разобраться то вот серия годных статей, если от консула абстрагироваться https://cloud.croc.ru/blog/byt-v-teme/docker-virtualizatsiya-seti-part1/
Артём
Там три части вроде
Виктор
ок, спасибо. а то документацию пытался разобрать от докера, там что-то не очень все описано по сетям
Артём
Поддерживаю
Артём
крч сделал похожий инстанс как у тебя. Сеть бриджовая.
Артём
пинг и телнет на удалёную вм в локалсети вм проходит
Артём
телнет до посгре в сети контенеров тоже
Артём
@Moroz0w89
Виктор
ок. сейчас применю как у тебя
Виктор
а что за images nginx? это какой-то роутер получается?
Артём
нет, эт прост контейнер выступающий в роли приложения как у тебя
Артём
прост его имедж лежал локально, я его и взял)
Виктор
понял
Артём
от него все пинги и телнеты пускал
Виктор
не дает
Виктор
Anonymous
networks на один уровень с services
Виктор
аа...
Виктор
да, запустил
Виктор
я думал он как сервис идет
Артём
Артём
Оранжевое
Виктор
почему?
Виктор
это я как понял, сервис загружается после дб
Артём
Они у тебя и так в одной сети, зачем их линком связывать.
Линк уже не юзается практически, он был до нетворков
Артём
Артём
Если очерёдность запуска нужна
Виктор
пока все запустилось. сейчас подскажи, они при создании как будут адресацию распределять?
Виктор
у меня просто база по пути запуск просит. ранее я делал через локалхост
Виктор
а сейчас выяснять IP?
Виктор
* не запуск - коннект
Виктор
сервис ищет путь до нее
Артём
По имени контейнера
Артём
Просто имя пиши вместо ip
Виктор
точнее будет так. как сделать у контейнеров заведомо известный IP?
Виктор
ок
Виктор
попробую
Артём
Ну или задай контенеру жёстко ип из подсети в которую назначил
Виктор
Виктор
Все запустилось
Виктор