端口
和在
选项有什么区别?docker-compose.yml
中公开
端口此部分用于定义主机服务器和Docker容器之间的映射。
ports:
- 10005:80
这意味着在容器内运行的应用程序暴露在端口80。但外部系统/实体无法访问它,因此需要映射到主机服务器端口。
注意:您必须打开主机端口10005并修改防火墙规则以允许外部实体访问应用程序。
他们可以使用
http://{主机IP}:10005
像这样
EXPOSE这专门用于定义docker容器中运行应用程序的端口。
您也可以在dockerfile中定义它。一般来说,在dockerfile内部定义EXPOSE是一个很好且广泛使用的实践,因为很少有人在默认80端口之外的其他端口上运行它们
端口:
暴露:
根据docker-compose参考,
公开端口。指定两个端口(主机:CONTAINER),或仅指定容器端口(将选择随机主机端口)。
我的<code>docker编写。yml</code>看起来像:
mysql:
image: mysql:5.7
ports:
- "3306"
如果我执行docker-compose ps
,它将如下所示:
Name Command State Ports
-------------------------------------------------------------------------------------
mysql_1 docker-entrypoint.sh mysqld Up 0.0.0.0:32769->3306/tcp
公开端口而不将它们发布到主机-它们只能被链接的服务访问。只能指定内部端口。
端口不向主机公开,仅向其他服务公开。
mysql:
image: mysql:5.7
expose:
- "3306"
如果我执行docker-compose ps
,它将如下所示:
Name Command State Ports
---------------------------------------------------------------
mysql_1 docker-entrypoint.sh mysqld Up 3306/tcp
在最新版本的Dockerfile中,EXPOSE
不再具有任何操作影响,它只是提供信息。(另请参阅)
问题内容: 并且似乎正在与同一个dockerFile进行交互,这两个工具之间有什么区别? 问题答案: 在一个码头工人的发动机管理单个容器时,CLI使用。这是访问docker daemon api的客户端命令行。 该CLI可以用于管理多容器应用程序。它还会将您在cli 上输入的许多选项移到文件中,以方便重用。它在与所使用的同一docker api上充当前端“脚本” ,因此您可以使用命令和许多shel
问题内容: 每当我执行 我看到状态为“ UP”的容器。如果我做 我将看到更多详细信息,但状态相同。这两个命令之间有什么区别吗? 问题答案: docker-compose start (https://docs.docker.com/compose/reference/start/) 启动服务的现有容器。 docker-compose up (https://docs.docker.com/comp
问题内容: 我正在试验Dockerfile,我想我了解大多数逻辑。但是,在这种情况下,我看不到“公开”和“发布”端口之间的区别。 我首先看过的所有教程都将命令包含在Dockerfile中: 然后,他们从此Dockerfile构建映像: 然后在运行映像时 发布 与上述相同的端口: 或使用以下命令发布所有端口 如果仍要发布端口,则在Dockerfile中公开端口有什么意义?是否需要先公开一个端口,然后
问题内容: 在深入研究Docker,Google Cloud和Kubernetes的同时,还没有清楚地了解这三个产品,在我看来,这些产品是重叠的,但它们并不兼容。 例如,需要重写文件,以便可以将应用程序部署到Kubernetes。 有人可以对Docker,Docker Compose,Docker Cloud和Kubernetes重叠之处以及其中一个相互依赖的地方进行概括的粗略描述吗? 问题答案:
在深入研究Docker、Google Cloud和Kubernetes的同时,我还没有清楚地了解这三个产品,在我看来,这些产品是重叠的,但它们并不兼容。 例如,需要重新编写文件,以便将应用程序部署到Kubernetes。 有人能提供一个高层次的粗略描述Docker、Docker Compose、Docker Cloud和Kubernetes在哪些地方重叠,哪些地方依赖于另一个吗?
问题内容: 和之间有什么区别? 假设在dockerized项目路径中有一个文件: 和 问题答案: 可以被认为是DockerCLI的包装器(实际上,它是python中的另一种实现,如[注释中所述),以节省时间并避免500个字符长的行(并同时启动多个容器)。它使用一个名为的文件来检索参数。 您可以在此处找到docker- compose文件格式的参考。 因此,基本上,您将阅读,查找包含该语句的所有服务