我下载了官方的docker httpd容器,但是默认情况下它将我的端口32770映射到它的端口80.我希望每当我启动容器时,它都会监听我的端口80 - > 80.
在docker启动时是否有任何命令行参数给出或者我可以在docker中硬编码这个映射?
我尝试使用“docker run”命令运行它,但每次启动它的新实例时,我都会丢失我对我想要使用的docker容器所做的更改。如何保留端口映射更改?
答案 0 :(得分:3)
您希望将容器中的端口发布到主机,因为Thilo表示httpd
图像已公开端口80,因此您可以将其发布。
此命令映射端口80并在后台运行Web服务器:
docker run -d -p 80:80 httpd
现在您可以浏览http://localhost并查看“它的工作原理!”页。
docker run
是docker create
+ docker start
的快捷方式,因此它始终会从图片中创建一个新容器。如果您想对容器进行更改并保留它们,请使用commit或Dockerfile根据httpd
创建自己的图像 - 最好是Dockerfile,因为它更易于管理和自动化。然后,您将拥有一个自定义网站图像,当您运行它时,它将始终保持不变。
答案 1 :(得分:1)
您应该根据httpd官方图片创建自己的泊坞窗图像。然后公开你要映射的端口(EXPOSE 80)https://docs.docker.com/engine/reference/builder/#/expose它应该做你想要的。
它会给出类似的东西:
FROM httpd
EXPOSE 80
build:docker build -t test。
运行:docker run test:)