用apache绑定非标准端口启动docker LAMP映像

我是docker工人,使用https://github.com/mattrayner/docker-lamp

我已经阅读了有关docker run命令,但仍然没有得到-p选项。 有没有办法告诉Apache听一个非标准的端口?

我已经成功地在默认端口80上启动它,然后从容器内重新configuration/重新加载Apache,将其自己绑定到端口8080.但在这种情况下,我不能通过外部访问容器的Apache本地主机:8080。 (如果这是有道理的)

我只是想开发一些使用PHP 5.6的东西,而不会干扰我的本地安装程序(运行PHP 7.0)上的其他任何东西。 如果还有另外一种方法可以达到同样的目的,那我也很好。

-p--publish选项是一个host:container端口映射,因此您不必更改容器内可能已经运行的内容。

如果容器已经在端口80上运行,但是您希望通过端口8080从外部访问(通过主机或笔记本电脑),那么您可以使用-p 8080:80简单运行,这会将主机端口8080映射到容器端口80

多个容器可以在同一主机上运行并使用端口80 (因为容器在Dockernetworking上有自己的IP地址)。 但是你一次只能暴露一个端口。

例如,如果你想运行3个容器,并且所有的容器都在端口80上进行监听,你可以用-p 8080:80开始第一个,第二个用-p 8082:80 ,第三个用-p 8084:80

https://docs.docker.com/engine/reference/commandline/run/#publish-or-expose-port–p—expose的-p部分做了更深入的研究。