首页 > 解决方案 > 在docker compose中将文件夹名称附加到容器名称的目的是什么

问题描述

我在 /documents 文件夹中有我的 docker compose 文件,当我使用 docker-compose up 时,它会将文件夹名称附加到服务名称(myappv1)。

documents_myappv1_1

这样做的目的是什么?为什么不能只是myappv1_1

标签: dockerdocker-compose

解决方案


Docker Compose 使用项目名称让用户在单个主机上部署多个隔离环境docker-compose.yml默认情况下,项目名称将使用包含您的文件夹的名称。

您可以通过以下方式更改容器命名行为:

  • 使用-p诸如docker-compose -p project_name upwhich 的选项将导致容器被命名为project_name_myappv1_1
  • 使用container_name选项指定自定义容器名称,即使在不同的部署中也将保持相同

根据文档

Compose 使用项目名称将环境彼此隔离。您可以在几个不同的上下文中使用此项目名称:

  • 在开发主机上,创建单个环境的多个副本,例如当您想要为项目的每个功能分支运行稳定副本时
  • 在 CI 服务器上,为了防止构建相互干扰,您可以将项目名称设置为唯一的构建号
  • 在共享主机或开发主机上,以防止可能使用相同服务名称的不同项目相互干扰

默认项目名称是项目目录的基本名称。您可以使用-p命令行选项或COMPOSE_PROJECT_NAME环境变量设置自定义项目名称。


推荐阅读