使用绑定到非标准端口的 apache 启动 docker LAMP 映像
start a docker LAMP image with apache bound to non-standard port
我是 docker 的新手,使用 https://github.com/mattrayner/docker-lamp
我已经阅读了有关 docker run
命令的内容,但仍然不太了解 -p
选项。有没有办法让它告诉 Apache 在非标准端口上侦听?
我已成功在默认端口 80 上启动它,然后 re-configuring/re-loading Apache 从容器中将自身绑定到端口 8080。但在那种情况下我无法从中访问容器的 Apache 在之外通过localhost:8080。 (如果这有意义的话。)
我只是想使用 PHP 5.6 开发一些东西而不影响我的本地设置,即 运行 PHP 7.0。如果有另一种方法可以达到同样的目的,我也很乐意。
-p
或 --publish
选项是一个 host:container
端口映射,这样您就不必更改容器内可能已经 运行ning 的内容.
如果容器已经 运行 正在端口 80
上运行,但您想通过端口 8080
从外部(通过您的主机或笔记本电脑)访问它,那么您可以简单地 运行 与 -p 8080:80
会将您的主机端口 8080
映射到容器端口 80
.
多个容器可以 运行 并在同一主机上使用端口 80
(因为容器在 Docker 网络上有自己的 IP 地址)。但是一次只能暴露一个端口。
例如,如果您有 3 个容器想要 运行 并且它们都在端口 80
上侦听,您可以从第一个 -p 8080: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
部分对此进行了更深入的探讨。
我是 docker 的新手,使用 https://github.com/mattrayner/docker-lamp
我已经阅读了有关 docker run
命令的内容,但仍然不太了解 -p
选项。有没有办法让它告诉 Apache 在非标准端口上侦听?
我已成功在默认端口 80 上启动它,然后 re-configuring/re-loading Apache 从容器中将自身绑定到端口 8080。但在那种情况下我无法从中访问容器的 Apache 在之外通过localhost:8080。 (如果这有意义的话。)
我只是想使用 PHP 5.6 开发一些东西而不影响我的本地设置,即 运行 PHP 7.0。如果有另一种方法可以达到同样的目的,我也很乐意。
-p
或 --publish
选项是一个 host:container
端口映射,这样您就不必更改容器内可能已经 运行ning 的内容.
如果容器已经 运行 正在端口 80
上运行,但您想通过端口 8080
从外部(通过您的主机或笔记本电脑)访问它,那么您可以简单地 运行 与 -p 8080:80
会将您的主机端口 8080
映射到容器端口 80
.
多个容器可以 运行 并在同一主机上使用端口 80
(因为容器在 Docker 网络上有自己的 IP 地址)。但是一次只能暴露一个端口。
例如,如果您有 3 个容器想要 运行 并且它们都在端口 80
上侦听,您可以从第一个 -p 8080: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
部分对此进行了更深入的探讨。