Владислав
Сейчас попробую.
Владислав
Не, не работает всё равно. Попробовал web / webpack / 0.0.0.0
Владислав
seluser@0153a4528ec8:/$ curl http://0.0.0.0:8080 curl: (7) Failed to connect to 0.0.0.0 port 8080: Connection refused seluser@0153a4528ec8:/$ curl http://0.0.0.0:3000 curl: (7) Failed to connect to 0.0.0.0 port 3000: Connection refused seluser@0153a4528ec8:/$ curl http://localhost:3000 curl: (7) Failed to connect to localhost port 3000: Connection refused seluser@0153a4528ec8:/$ curl http://localhost:8080 curl: (7) Failed to connect to localhost port 8080: Connection refused
Владислав
Хрень какая-то. Или я чего-то не понимаю в докере.
Владислав
В контейнере selenium выполнил эти команды.
Владислав
seluser@0153a4528ec8:/$ curl http://web:8080 curl: (6) Could not resolve host: web seluser@0153a4528ec8:/$ curl http://webpack:3000 curl: (6) Could not resolve host: webpack
Rocket
seluser@0153a4528ec8:/$ curl http://web:8080 curl: (6) Could not resolve host: web seluser@0153a4528ec8:/$ curl http://webpack:3000 curl: (6) Could not resolve host: webpack
Дефолтная сеть? В ней не работает dns. Надо свою создать. Это потому что backward compatibility.
Anonymous
seluser@0153a4528ec8:/$ curl http://0.0.0.0:8080 curl: (7) Failed to connect to 0.0.0.0 port 8080: Connection refused seluser@0153a4528ec8:/$ curl http://0.0.0.0:3000 curl: (7) Failed to connect to 0.0.0.0 port 3000: Connection refused seluser@0153a4528ec8:/$ curl http://localhost:3000 curl: (7) Failed to connect to localhost port 3000: Connection refused seluser@0153a4528ec8:/$ curl http://localhost:8080 curl: (7) Failed to connect to localhost port 8080: Connection refused
Ну, для начала стоит почитать о том, что такое ip адрес, и какой он бывает, наверное. Мне кажется, что такая настройка не для новичков. Легче начинать с готового и модифицировать его. Но не пытаться наугад подоборать
Владислав
ip бывает внутренний и внешний. links создаёт внутреннюю сеть между контейнерами, ОК.
Владислав
links: - web
Владислав
Например
Anonymous
ip бывает внутренний и внешний. links создаёт внутреннюю сеть между контейнерами, ОК.
Даю подсказку: seluser@0153a4528ec8:/$ curl http://0.0.0.0:8080 0.0.0.0 - это не Ip адрес, а маска, обозначающая, что всем Ip будут приниматься сервером. links - это только внутри контейнеров. И если прописано, то в контейнерах будет работать curl http://link_name:container_internal_port
Владислав
ОК, коннект есть
Владислав
Но не коннектится по имени хоста.
Владислав
Понял, извините.
Владислав
Очень интересно. Прописал 172.17.0.5 этот адрес, тест выполнился. Иду читать про айпи-адреса, хосты и докер.
Anonymous
Очень интересно. Прописал 172.17.0.5 этот адрес, тест выполнился. Иду читать про айпи-адреса, хосты и докер.
Если с локальной тачки нужно курлом по хостнейму бегать, то можно просто в /etc/hosts (или как там в других ОС) же прописать и все
Владислав
Я не знаю, как работает веб-драйвер изнутри. Курлом просто так подёргал, для себя, чтобы понять, в чём дело.
Anonymous
Я такого не нашел. Нашел только: 0.0.0.0 is a non-routable meta-address used to designate an invalid, unknown, or non-applicable target (a ‘no particular address’ place holder).
Владислав
Два дня назад я тоже не знал :D
Владислав
А тут стало нужно осваивать тесты, вот теперь сижу, немного мучаюсь поначалу :)
Владислав
П.с.: да я и сейчас не знаю, что такое веб-драйвер. Знаю, что он необходим для тестов и всё. В само определение не вдавался даже.
Anonymous
Ну, все правильно. Написано же: Can only be used as a source address Т.е. нельзя указать как dst ip
Anonymous
А при чем тут некорректность или неизвестность? Он может испльзоваться только как src addr. https://www.howtogeek.com/225487/what-is-the-difference-between-127.0.0.1-and-0.0.0.0/
Sun
Вообще-то, 0.0.0.0 — это четырёхглазое чудило, очень удивлённое результатом тыкания пальцем в небо
Sergey️
😳😳
Sun
Примерно так, да
Ilia
Владислав
links - это только внутри контейнеров. И если прописано, то в контейнерах будет работать curl http://link_name:container_internal_port Я, походу, дурак, но это не работает. https://gist.github.com/Subb98/2ad27ed3e0bef7ca2db6b122970cb45a
Bogdan
docker-compose ps что показывает
Владислав
Artem
вообще линкс уже давно не нужны
Artem
контейнеры между собой спокойно общаются по именам в одной сети
twwlf
links is deprecated
Artem
во во
Владислав
Что является альтернативой? И да, как вы видите, у меня даже с линксами не работает.
twwlf
docker network
Artem
покажи компоуз файл
Владислав
https://gist.github.com/Subb98/2ad27ed3e0bef7ca2db6b122970cb45a#file-docker-compose-yml
Artem
и кто к кому по какому имени не может достучаться?
Владислав
selenium должен подключиться к web
Владислав
Мне без разницы, по какому имени будет подключение. Вчера я смог добиться этого только по ip контейнера.
twwlf
по имени webpack должно быть доступно
Artem
ну так стучить на http://web:8080
twwlf
линки только все убери
twwlf
а, вижу web отдельный
twwlf
да, должно быть доступно
Владислав
ну так стучить на http://web:8080
Ну так не работает.
Владислав
линки только все убери
Убрать линксы и попробовать? ОК, сейчас..
Bogdan
так имя у тебя laramx_web
Anonymous
контейнеры между собой спокойно общаются по именам в одной сети
Может для наглядности? Ну, вроде как описаны зависимости просто для приложений.
Artem
так имя у тебя laramx_web
так имена описаны в компоуз файле, если че
Artem
Может для наглядности? Ну, вроде как описаны зависимости просто для приложений.
зависимость это depend_on при старте например, а сейчас в принципе не нужно, даже в логах об этом пишет при старте
twwlf
Убрать линксы и попробовать? ОК, сейчас..
линки предполагают доступаемость по localhost:${port}
Bogdan
ну он curl http://web:8080 пишет
Anonymous
зависимость это depend_on при старте например, а сейчас в принципе не нужно, даже в логах об этом пишет при старте
Ну, мы писали для того, чтобы когда будем слезать с docker-compose не забыли про это
Bogdan
надо curl http://laramx_web:8080 из контейнера в той же сети обращаться
Artem
Artem
так точно работать не будет
Bogdan
ну пусть попробует
Artem
Владислав
Владислав
Убрал линксы, теперь вообще пишет, что selenium unresolved.
Владислав
Херня какая-то, крч, очень страннная такая..
Bogdan
@Subb98 я не понимаю почему к web обращаешься, когда по docker-compose название laramx_web хоть убейте, название контейнера не стоит web в yml
Владислав
И на gist всю инфу показал через docker inspect. laramx - просто префикс проекта, он не влияет на название контейнера, по которому нужно обращаться.
Artem
а найди разницу между servicename и containername
Aleksandr
И на gist всю инфу показал через docker inspect. laramx - просто префикс проекта, он не влияет на название контейнера, по которому нужно обращаться.
а у тебя и правда конфиг в ретро стиле? попробуй переделать в последней версии поддерживаемой docker-compose с services итд
Владислав
а у тебя и правда конфиг в ретро стиле? попробуй переделать в последней версии поддерживаемой docker-compose с services итд
Да, правда. Конфиг составил архитектор приложения, я стараюсь не вносить много изменений.
Artem
кстати да, укажи в начале version: 3 и т.п.
Aleksandr
Да, правда. Конфиг составил архитектор приложения, я стараюсь не вносить много изменений.
возможно из-за этотго docker-compose не включает фичи которые появились позже
Aleksandr
а архитектору все же лучше вылезти из 2014го
Artem
😂
Владислав
Попробую собрать новый композ-файл, посмотрю, будет ли работать.
Владислав
Как мне объяснил автор, версия не указана намеренно, чтобы вообще любая (или почти) версия докер смогла бы работать с таким файлом.