在我的机器上,我正在运行Docker中的一个应用程序(它在http://localhost:8181上运行)。
我已经和docker run -p 8181:8181 myapp一起创建了Docker。
经过一些搜索之后,我尝试在运行ifconfig时将请求发送到docker0的输出,即172.17.0.1,以及我计算机的ip。我还尝试过localhost和0.0.0.0:http://<ip>:8181/myapp。我正在运行Ubuntu 16.04。
如何向运行在docker中的服务器发送请求?
发布于 2017-02-07 21:25:43
将您的应用程序从监听localhost:8181更改为监听0.0.0.0:8181。Docker端口映射将路由到容器的IP,而不是容器内部的环回接口,因此您的应用程序需要侦听所有接口。
然后使用端口映射选项运行容器,该选项将主机上的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中。
https://stackoverflow.com/questions/42090365
复制相似问题