Например, на localhost
мы просто ссылаемся на localhost:port
, чтобы подключиться к процессу, запущенному на порту port
на локальной машине.Есть ли способ ссылаться на сеть, в которой работает контейнер, чтобы нам не пришлось беспокоиться и жестко кодировать, что такое ip конкретного контейнера / службы.Например, если мы хотим подключиться к базе данных postgresql, мы просто напишем bridge1:5432
.
EDIT : @ fly2matrix предложила использовать решение именованного контейнера, но оно не сработало, docker network inspect bridge
возвращает
...
"Containers": {
"2375b29321dc4a5947f8b63b46fe1c955f43fb1fbca64bb2adce3503380dda37": {
"Name": "somepostgres",
"EndpointID": "398ec0e792b836ceb5dd5d2e448e813047f9157ad90283b448e40eaf3f4f5b66",
"MacAddress": "02:42:ac:11:00:03",
"IPv4Address": "172.17.0.3/16",
"IPv6Address": ""
},
"a72fbb333e2d8cd3b7b78205795456fadc44678348ccedc58a78510cd273505b": {
"Name": "pizz",
"EndpointID": "2e7aa30844a632f4d42e3d0cfa16003dfd1d86aef85e63d16c83b3a71601e134",
"MacAddress": "02:42:ac:11:00:02",
"IPv4Address": "172.17.0.2/16",
"IPv6Address": ""
}
},
Мои контейнеры находятся на одной лодке, но если я пытаюсь подключиться к somepostgres:5432
из pizz
контейнера, он просто говорит «неизвестный хост».