Docker:如何在Dockerfile中设置端口

3
当我在终端中调用docker run命令时,服务器可以正常启动并且可访问,但是当我尝试在dockerfile中添加端口时,它不起作用。有没有一种方法可以在dockerfile中明确设置端口?感谢您的帮助。
这个可以:
docker run -d -p 5555:4444 -v /dv/sm:/dv/sm sa:latest

我移除了-p选项,并尝试通过Docker文件传递它,但是它没有起作用(错误:无法访问此站点)。
不起作用的代码:
docker run -d -v /dv/sm:/dv/sm sa:latest

我已经尝试过 - Docker文件:
FROM WorkingTestImage as MyImage
ENTRYPOINT "/opt/bin/entry_point.sh"
CMD ["-p","5555:4444"]

FROM WorkingTestImage as MyImage
ENTRYPOINT ["/opt/bin/entry_point.sh","-p","5555:4444"]
CMD ["-p","5555:4444"]

FROM WorkingTestImage as MyImage
ENTRYPOINT ["/opt/bin/entry_point.sh","-p","5555:4444"]

无法完成操作。您必须在docker run命令中指定-p选项。 - Henry
1个回答

3

-p选项是特定用于docker命令的,而Dockerfile中的CMD仅在运行时在docker容器内运行命令。因此,它超出了"docker"命令的范围。

如果您想将端口编写为代码,则需要使用Docker Compose或Kubernetes。

注:"Original Answer"翻译成中文是"最初的回答"。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接