我有一个在 docker 容器内运行的服务器。服务器在端口 8080 上运行。我不想将此端口暴露给外部,而只想从内部访问。目前它可以从外部访问。我尝试了以下命令,但对我没有帮助。
sudo ufw deny 8080
有人能帮我吗?
最佳答案
有两种不同的机制直接涉及网络端口:公开和发布端口。
EXPOSE
公开端口Dockerfile 中的关键字或--将标志暴露给 docker run。暴露端口是
way of documenting
使用了哪些端口,但实际上并未映射或打开任何端口。 --publish
发布帖子或 --publish-all
或 -p
标记到 docker run。这告诉 Docker 在容器的网络接口(interface)上打开哪些端口。 因此,请检查您正在运行的命令以启动容器。由于您不想从外部访问容器,因此不应使用
-p
.您可以引用下面的链接了解更多详情。
https://docs.docker.com/engine/reference/commandline/run/#publish-or-expose-port--p---expose
关于docker - 在 ubuntu 中限制在 docker 上运行的端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61930035/