Docker容器上的端口80只

Docker容器上的端口80只

问题描述:

我想这在多台机器(Win10和服务器2016)的工作,同样的结果 使用本教程: https://docs.docker.com/docker-for-windows/#set-up-tab-completion-in-powershellDocker容器上的端口80只

这工作

docker run -d -p 80:80 --name webserver nginx 

任何其他端口,失败与

docker run -d -p 8099:8099 --name webserver nginx --> ERR_EMPTY_RESPONSE 

看起来像Docker/nginx正在监听失败的端口,但失败。 Telneting到这个端口显示请求通过,但立即断开连接。这与根本没有收听端口时不同。

+2

尝试'搬运工运行 - d -p 8099:80 - 名字web服务器nginx' – Leon

该列表中有两个端口。第一个端口是Docker发布的一个端口,供您远程连接。第二个端口是在容器中发送流量的位置。 Docker不会修改应用程序,所以应用程序本身需要监听第二个端口。默认情况下,Nginx的80端口上监听因此,你可以运行:

docker run -d -p 8099:80 --name webserver nginx 

要发布端口8099和发送流量到容器内听一个应用程序端口80上

+0

太好了,那么在哪里修改nginx上的端口? – LastTribunal

+0

为什么你需要改变容器内的端口?这将是nginx的nginx配置文件,但具体取决于应用程序。 – BMitch

+0

我可以在内部端口80上运行多个应用程序吗? – LastTribunal