Size: a a a

DevOps — русскоговорящее сообщество

2020 April 28

ЕА

Егор Андреевич in DevOps — русскоговорящее сообщество
так разве можно порты открывать в докере?
источник

AE

Aleksandr Eremin in DevOps — русскоговорящее сообщество
Егор Андреевич
так разве можно порты открывать в докере?
да
источник

BD

Banschikov Denis in DevOps — русскоговорящее сообщество
Aleksandr Eremin
image: jetbrains/teamcity-server
   ports:
    - "127.0.0.1:8111:8111"
   restart: always
   volumes:
     - ./data:/data/teamcity_server/datadir
     - ./logs:/opt/teamcity/logs

 teamcity-agent-instance:
   image: jetbrains/teamcity-agent
   ports:
    - "127.0.0.1:9090:9090"
   restart: always
   volumes:
     - ./agent-conf:/data/teamcity_agent/conf
   environment:
     - SERVER_URL=teamcity-server-instance:8111

 teamcity-postgres:
   image: postgres
   ports:
     - "54330:5432"
   restart: always
   environment:
     POSTGRES_DB: 1
     POSTGRES_USER:1
     POSTGRES_PASSWORD: 1

networks:
   default:
       external:
           name: webproj_network
Я как понимаю не на один localhost не удается  курлем достучаться ?
источник

АБ

Андрей Балашов in DevOps — русскоговорящее сообщество
порты там прикольные :8181:8181 и :9090:9090
источник

АБ

Андрей Балашов in DevOps — русскоговорящее сообщество
это специально дублируешь? или ошибка
источник

MM

Maksim Makhalov in DevOps — русскоговорящее сообщество
Андрей Балашов
О, я пароли записал
лара крофт: расхитительница паролей
источник

AE

Aleksandr Eremin in DevOps — русскоговорящее сообщество
Banschikov Denis
Я как понимаю не на один localhost не удается  курлем достучаться ?
удается, но только к тем контейнерам что через docker-compose стартуют

через docker run я запускаю еще один контейнер и к нему уже не могу получить доступ
источник

BD

Banschikov Denis in DevOps — русскоговорящее сообщество
Aleksandr Eremin
удается, но только к тем контейнерам что через docker-compose стартуют

через docker run я запускаю еще один контейнер и к нему уже не могу получить доступ
А, не совсем внимательно прочитал. Как запускаешь этот контейнер ?
источник

AE

Aleksandr Eremin in DevOps — русскоговорящее сообщество
Banschikov Denis
А, не совсем внимательно прочитал. Как запускаешь этот контейнер ?
docker run -d --network webproj_network -p 5000:5000  --name my_container my_image
источник

BD

Banschikov Denis in DevOps — русскоговорящее сообщество
Aleksandr Eremin
docker run -d --network webproj_network -p 5000:5000  --name my_container my_image
А вот попробуй так:
docker run -d --network host -p 5000:5000  --name my_container my_image
источник

AE

Aleksandr Eremin in DevOps — русскоговорящее сообщество
Banschikov Denis
А вот попробуй так:
docker run -d --network host -p 5000:5000  --name my_container my_image
так он станет доступен извне, но не сможет общаться с базой что была через docker-compose запущена
источник

AE

Aleksandr Eremin in DevOps — русскоговорящее сообщество
я пробовал уже
источник

BD

Banschikov Denis in DevOps — русскоговорящее сообщество
Aleksandr Eremin
я пробовал уже
Ну тогда если хочешь что бы твой контейнер общался по "внутренней" сети, то заместо
127.0.0.1:port
используй <dockers_service_name>:port
источник

BD

Banschikov Denis in DevOps — русскоговорящее сообщество
curl http://teamcity-agent-instance:9090
источник

AE

Aleksandr Eremin in DevOps — русскоговорящее сообщество
Banschikov Denis
Ну тогда если хочешь что бы твой контейнер общался по "внутренней" сети, то заместо
127.0.0.1:port
используй <dockers_service_name>:port
ну приложение внутри контейнера как раз и пытается обратиться к базе не по ip, а по имени сервиса и если указать --network host, то это перестает работать
источник

AE

Aleksandr Eremin in DevOps — русскоговорящее сообщество
потому что у приложения становится host, а у остальных bridge
источник

BD

Banschikov Denis in DevOps — русскоговорящее сообщество
Aleksandr Eremin
ну приложение внутри контейнера как раз и пытается обратиться к базе не по ip, а по имени сервиса и если указать --network host, то это перестает работать
--network host да, тогда не будет работать. Но тебе же запуск контейнера с этим флагом не подходит
источник

AE

Aleksandr Eremin in DevOps — русскоговорящее сообщество
Banschikov Denis
--network host да, тогда не будет работать. Но тебе же запуск контейнера с этим флагом не подходит
ну вот teamcity_server и teamcity_agent запускается через один docker-compose используя сеть webproj_network и они доступны по локалхосту извне, а друг с другом могут общаться по имени сервиса. Через другой docker-compose подключена база для приложения (она тоже использует сеть webproj_network), также доступна по локалхосту и может общаться с teamcity_agent и teamcity_server которые через другой docker-compose были запущены. Однако контейнер, запущенных через docker run --network webproj_network недоступен по локалхосту и почему я понять не могу
источник

AE

Aleksandr Eremin in DevOps — русскоговорящее сообщество
хотя в iptables видно что они в одной подсети находятся и почему к одному можно извне обратиться, а к другому нет для меня загадка
источник

AE

Aleksandr Eremin in DevOps — русскоговорящее сообщество
ufw у меня innactive
источник