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

时间:2017-03-27 18:04:02

标签: docker lamp

我是docker的新手,使用https://github.com/mattrayner/docker-lamp

我已经阅读了 template <typename U = T> std::enable_if_t<sizeof(U) && (false == std::is_same<T, long>::value)> bar1 (int) { } template <typename U = T> std::enable_if_t<sizeof(U) && (false == std::is_same<T, long>::value), int> bar2 () { return 0; } 命令,但仍未完全获得docker run选项。有没有办法让它告诉Apache在非标准端口上监听?

我已成功在默认端口80上启动它,然后从容器内重新配置/重新加载Apache,以将自身绑定到端口8080.但在这种情况下,我无法访问容器和#39;来自外部的Apache 通过localhost:8080。 (如果这是有道理的。)

我只是想使用PHP 5.6开发一些东西,而不会干扰我的本地设置上运行PHP 7.0的任何其他内容。如果有另一种方法可以达到同样的目的,我也很擅长。

1 个答案:

答案 0 :(得分:1)

-p--publish选项是host:container端口映射,因此您无需更改容器内已运行的内容。

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

多个容器可以在同一主机上运行并使用端口80(因为容器在Docker网络上有自己的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部分对此更深入。