Я запускаю контейнер Docker на своем компьютере. Этот контейнер содержит приложение Java, которое запускает сервер, прослушивающий http://localhost:9000
. Когда я запускаю этот код без Docker, тривиально подключаться к серверу, но у меня возникают проблемы с подключением при работе внутри контейнера Docker. Моя docker run
команда выглядит следующим образом:Как подключиться к серверу, запущенному в контейнере Docker?
docker run -p 9000 -t -i my-image
NetworkSettings
выход docker inspect
выглядит следующим образом:
"NetworkSettings": {
"Bridge": "",
"SandboxID": "f9c77b7ae7804583fa60211b7d8cfeec5f154b29f9d174a4f0cdb5a8d6e41126",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Ports": {
"9000/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "32768"
}
]
},
"SandboxKey": "/var/run/docker/netns/f9c77b7ae780",
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "10b80d9de186be6ddf9e9d3bb1945124ec1fab7774a135720569e2bf4db3306e",
"Gateway": "172.17.0.1",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "172.17.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"MacAddress": "02:42:ac:11:00:02",
"Networks": {
"bridge": {
"EndpointID": "10b80d9de186be6ddf9e9d3bb1945124ec1fab7774a135720569e2bf4db3306e",
"Gateway": "172.17.0.1",
"IPAddress": "172.17.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:11:00:02"
}
}
}
Я попытался подключиться к localhost:9000
, localhost:32768
, 172.17.0.2:9000
172.17.0.2:32768
и безрезультатно. Как подключиться к серверу, запущенному в образ Docker?
Вы используете докер непосредственно на Linux? Или вы на Windows или Mac? – VonC
Я использую OS X – Max