Connection refused/java/spring/docker

Тема в разделе "Программирование", создана пользователем VNTee, 14 May 2019 в 19:10.

  • Хелпуйте. Вообщем есть приложение, назовём его A, сделанное в Spring. Так вот там есть один bean, который создавался после получения скажем положительного ответа с какого-то левого сервака, назовём его С. То есть этот bean в момент создания отправлял запрос на удаленный сервак, получал ответ, все ок, bean создавался, приложение А работало. Этот сервак С чужой и мы просто пользуемся его фишками. Так вот, встала задача провести тесты на скорость работы приложухи и мы решили сделать а-ля “mock” того, что лежит на С, назовём этом B. Этот мок B работает, все окей, браузер запросы в стиле localhost:9000/any/any выполняет, то есть B нормальное работает. Я попробовал в основном приложении A подменить url того сервера С на соответствующий localhost:9000 нашего B. Но приложение в итоге не запускается, бин не создаётся, выскакивает ошибка Connection refused. С чем может быть связано? Приложение A я разворачиваю в докере, а приложение B в тупую запускаю. Почему запрос через браузер обрабатываются нормально, а если их шлет приложение A из докера, то вылетает Connection refused? 

     

    Caused by: java.net.ConnectException: Connection refused (Connection refused)
    at java.base/java.net.PlainSocketImpl.socketConnect(Native Method) ~[na:na]
    at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:399) ~[na:na]
    at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:242) ~[na:na]
    at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:224) ~[na:na]
    at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:403) ~[na:na]
    at java.base/java.net.Socket.connect(Socket.java:591) ~[na:na]
    at org.apache.http.conn.socket.PlainConnectionSocketFactory.connectSocket(PlainConnectionSocketFactory.java:75) ~[httpclient-4.5.6.jar:4.5.6]
    at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142) ~[httpclient-4.5.6.jar:4.5.6]
    ... 44 common frames omitted


    Проблему решил (теперь вылетает новая ошибка, но уже дальше FeelsWowMan.png). Вообщем докер то ли в другой подсетке работает, то ли что. Если вне докера запустить А, то он его видит и коннекшен прошел. На линуксе кстати с этим проблем вроде бы нет.

  • Первая же ссылка в StackOverflow

    Это исключение возникает, когда нет службы, прослушивающей IP / порт, к которому вы пытаетесь подключиться:

    • Вы пытаетесь подключиться к неправильному IP / хосту или порту.
    • Вы не запустили свой сервер.
    • Ваш сервер не прослушивает соединения.
    • На серверах Windows очередь прослушивания невыполнена.
  • https://docs.docker.com/network/links/

    перенеправление портов почитай, если я правильно понял мельком проблему

     

    docker run -p 8080:8080 -td asd ( asd созданный контейнер)

     

    первый порт это локальный, второй порт контейнера, который ты создаешь 

     

  • Автор темы
    saw_tooth сказал(а):

    Первая же ссылка в StackOverflow

    Это исключение возникает, когда нет службы, прослушивающей IP / порт, к которому вы пытаетесь подключиться:

    • Вы пытаетесь подключиться к неправильному IP / хосту или порту.
    • Вы не запустили свой сервер.
    • Ваш сервер не прослушивает соединения.
    • На серверах Windows очередь прослушивания невыполнена.
    Нажмите, чтобы раскрыть...

    Да ладно? Pepega.png?1543957140

     

    И как я с этими советами должен понять, что контейнеры не видят основную сетку и её порты. Я описал конкретную задачу. Тем более на Линуксе все видеться нормально, вот эт поворот. 


    salah сказал(а):

    https://docs.docker.com/network/links/

    перенеправление портов почитай, если я правильно понял мельком проблему

     

    docker run -p 8080:8080 -td asd ( asd созданный контейнер)

     

    первый порт это локальный, второй порт контейнера, который ты создаешь 

     

    Нажмите, чтобы раскрыть...

    Да, видело нечто подобное. Но мне не из локалки к контейнеру докера подключиться нужно было, а из контейнера докера к локалке. То что контейнеры имеют ещё свои внутренние порты я знал, но почему контейнеру напрямую не видят локалку я не понимаю.... Спасибо, почитаю 


    salah сказал(а):

    https://docs.docker.com/network/links/

    перенеправление портов почитай, если я правильно понял мельком проблему

     

    docker run -p 8080:8080 -td asd ( asd созданный контейнер)

     

    первый порт это локальный, второй порт контейнера, который ты создаешь 

     

    Нажмите, чтобы раскрыть...

    Я уже как-то *** как раз с тем, что ты написал и ничего не помогло. Нужно было использовать REST контейнера использовать и ничего не работало (на винде, на линуксе проблем не было), пришлось эти REST запросы отправлять внутри самого контейнера...

  • Задавать вопросы по JEE на аниме2сру, ещё и получить ответ близкий к истине за час.

    Шок контент monkaW.png?1545137086

  • Автор темы
    Denvys5 сказал(а):

    Задавать вопросы по JEE на аниме2сру, ещё и получить ответ близкий к истине за час.

    Шок контент monkaW.png?1545137086

    Нажмите, чтобы раскрыть...

    Так я не просто так уговорил модеров создать этот раздел, тут же мильон прогеров-отцов-основателей. Аниме, дота, компьютеры, программирование - это же все гиковское 

  • VNTee сказал(а):

    Так я не просто так уговорил модеров создать этот раздел, тут же мильон прогеров-отцов-основателей. Аниме, дота, компьютеры, программирование - это же все гиковское 

    Нажмите, чтобы раскрыть...

    Но ты задал вопрос именно так, что бы сразу получить ответ на stackoverflow...

  • VNTee сказал(а):

    Так я не просто так уговорил модеров создать этот раздел, тут же мильон прогеров-отцов-основателей. Аниме, дота, компьютеры, программирование - это же все гиковское 

    Нажмите, чтобы раскрыть...

    я не анимэ, не гик, не аутист, не сижу дома 24 на 7, но при этом докер, компуктерщик)

     

     

  • Ну ёпт.

    1. Кидаю запросы на порт левого сервера. Всё работает, я доволён.

    2. Кидаю запросы на порт своего сервера. Ловлю ошибку "Connection refused".

     

    Постойте.. Кажется... Духи говорят со мной... 

    Открой порт, подними приложение, разберись с докерными сетями. Ну что за детский сад.

  • Автор темы
    Denvys5 сказал(а):

    Но ты задал вопрос именно так, что бы сразу получить ответ на stackoverflow...

    Нажмите, чтобы раскрыть...

    Чтоб получить твой ответ, я должен был бы ограничиться фразой «”Connection refused, я не просто так уточнял, что второе приложение в докере запущено, потому что человек с опытом в первую очередь на это бы указал, а именно чтение руководства по портам в и из докера.


    Grega сказал(а):

    Ну ёпт.

    1. Кидаю запросы на порт левого сервера. Всё работает, я доволён.

    2. Кидаю запросы на порт своего сервера. Ловлю ошибку "Connection refused".

     

    Постойте.. Кажется... Духи говорят со мной... 

    Открой порт, подними приложение, разберись с докерными сетями. Ну что за детский сад.

    Нажмите, чтобы раскрыть...

    Детский сад? «Разберись с докерными сетями». Такой проблемы вообще не должно быть и я не должен с этим разбираться. 90% людей, что работают с докером работаю из под линукса, на крайняк с аналогом написанным под 10 ку, а у меня 7 ка с их Docker Box, на которой вначале нужно провести множество танцев с бубнами, чтоб что-то начало работать и до сих пор по ходу работы с ней куча косяков имеется.

  • VNTee сказал(а):

    Чтоб получить твой ответ, я должен был бы ограничиться фразой «”Connection refused, я не просто так уточнял, что второе приложение в докере запущено, потому что человек с опытом в первую очередь на это бы указал, а именно чтение руководства по портам в и из докера.

     

    Детский сад? «Разберись с докерными сетями». Такой проблемы вообще не должно быть и я не должен с этим разбираться. 90% людей, что работают с докером работаю из под линукса, на крайняк с аналогом написанным под 10 ку, а у меня 7 ка с их Docker Box, на которой вначале нужно провести множество танцев с бубнами, чтоб что-то начало работать и до сих пор по ходу работы с ней куча косяков имеется.

    Нажмите, чтобы раскрыть...

    7ка))

    тоесть ты готов жрать говно ради 7ки?) или всетаки пойдет и поставишь 10ку?)

  • VNTee сказал(а):

    Чтоб получить твой ответ, я должен был бы ограничиться фразой «”Connection refused, я не просто так уточнял, что второе приложение в докере запущено, потому что человек с опытом в первую очередь на это бы указал, а именно чтение руководства по портам в и из докера.

     

    Детский сад? «Разберись с докерными сетями». Такой проблемы вообще не должно быть и я не должен с этим разбираться. 90% людей, что работают с докером работаю из под линукса, на крайняк с аналогом написанным под 10 ку, а у меня 7 ка с их Docker Box, на которой вначале нужно провести множество танцев с бубнами, чтоб что-то начало работать и до сих пор по ходу работы с ней куча косяков имеется.

    Нажмите, чтобы раскрыть...

    Нахрена ты жрешь говно? Запусти докер в виртуалке хотя бы.

Кто смотрит тему (Пользователи: 0, Гости: 0)