【问题标题】:docker-compose.yml file structure and namedocker-compose.yml 文件结构和名称
【发布时间】:2021-11-05 23:26:09
【问题描述】:

我在一个项目中使用 Docker Compose V3,但是当我运行时

docker compose up -d

在 Docker 客户端应用程序中会显示其所在文件夹的名称,docker-compose.yml 文件...

出于这个原因,我一直在寻找类似 @​​987654324@ 的东西,但对于整个项目,不仅是单个容器,而且我找不到它

此外,如果不查看示例,则没有提到 docker-compose.yml 文件的“一般结构”,类似于 XML 的 DTD

我知道没有办法创建该 DTD,因为在某些时候,键和值取决于容器,但至少对于前 3/4 层的深度,也许有办法或者它在某处被报告(某处我找不到)

所以我的问题是,对于整个docker-compose.ymlcontainer_name 是否有替代方案? docker-compose.yml 是否有任何 DTD?

【问题讨论】:

  • 您可以在撰写级别定义COMPOSE_PROJECT_NAME,完整的文档here。是您正在寻找的东西吗?
  • @LucasBazetto 我应该把这个变量放在docker-compose的什么地方?
  • 你需要添加一个与docker-compose同级的.env文件,内容会像COMPOSE_PROJECT_NAME=awesome

标签: docker docker-compose dtd


【解决方案1】:

Docker 与服务(容器)一起工作,因此 Docker 引擎为每个容器生成一个唯一 ID 和一个更易读的名称。 默认情况下,容器名称的第一部分目录名称,其中找到 docker-compose.yml 文件,第二部分是服务名称 你在 docker-compose.yml 文件中定义的。

正如 Lucas Bazetto 所写,您可以使用 .env 文件中的 COMPOSE_PROJECT_NAME=example_container_name_prefix 选项覆盖容器名称的第一部分。

【讨论】:

    【解决方案2】:

    我解决了一个类似的问题

    docker compose -p {{MY_STACK_NAME}} up -d
    

    覆盖它从 yaml 文件夹名称中获取的内容。

    让我知道它是否也适合你。

    问候。

    【讨论】:

    • 谢谢,不过我正在寻找一种不会污染 composer up 命令的解决方案
    猜你喜欢
    • 2022-11-04
    • 2019-08-26
    • 1970-01-01
    • 2023-01-07
    • 2020-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-20
    相关资源
    最近更新 更多