如何向在docker

时间:2017-02-07 12:50:56

标签: ubuntu docker http-request

在我的机器上,我在Docker中运行一个应用程序(它在http://localhost:8181上运行)。

我已经使用docker run -p 8181:8181 myapp启动了Docker。

经过一些搜索后,当我运行ifconfig(172.17.0.1)和我的计算机的ip时,我试图将我的请求发送到docker0的输出。我也尝试过localhost和0.0.0.0:http://<ip>:8181/myapp。我正在运行Ubuntu 16.04。

如何向docker中运行的服务器发送请求?

1 个答案:

答案 0 :(得分:2)

将您的应用程序从侦听localhost:8181更改为侦听0.0.0.0:8181。 Docker端口映射将路由到容器的IP,而不是容器内的loopback接口,因此您的应用需要侦听所有接口。

然后使用端口映射选项运行容器,该选项将主机上的8181映射到容器内的同一端口:

docker run -p 8181:8181 myapp

最后,您在端口8181上连接到docker主机的IP以访问该应用程序。使用较新版本的Docker for Win / Mac以及所有版本的Linux安装,您可以在主机上使用localhost:8181。如果您使用的是docker-machine(带有docker-toolbox),该IP需要是您的远程docker主机或VM,那么该IP将列在docker-machine ls中。