gpt4 book ai didi

docker - -p标志会覆盖EXPOSE吗?

转载 作者:行者123 更新时间:2023-12-02 18:30:29 29 4
gpt4 key购买 nike

我对Docker文档的EXPOSE vs -p感到困惑。我的理解是:EXPOSE仅用于容器间通信,不能从外部访问。

但是开发人员指南写道:“EXPOSE指令实际上并没有发布端口。它在构建镜像的人和运行容器的人之间充当着一种文档的类型,关于打算发布哪些端口。”

这是否意味着如果我将EXPOSE设置为8001,将-p设置为8002,则-p标志将覆盖EXPOSE,并且该容器将在8002上发布?我想我对“发布”一词感到困惑。

最佳答案

您引用的开发人员文档是准确的,Dockerfile中的EXPOSE条目是从开发人员创建镜像到运行该镜像的用户的文档。

如果使用-P,则docker将在主机上发布所有公开的端口(请注意,大写字母P与小写字母选项不同)。

对于容器到容器的通信,您只需要位于相同的docker网络中。容器在应用程序正在直接侦听的端口上交谈,而无需暴露端口或将其发布到主机。

使用-p选项在运行时完成端口的发布,并将端口从主机映射到容器中的一个端口,以使其在Docker外部可用。公开端口不会影响-p的发布,它只是文档和图像中的元数据。

关于docker - -p标志会覆盖EXPOSE吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47916595/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com