我的docker compose文件位于/ documents文件夹中,当我使用docker-compose up时,它将文件夹名称附加到服务名称(myappv1)。
documents_myappv1_1
这是什么目的?
为什么不能只是myappv1_1
答案 0 :(得分:1)
Docker Compose使用默认命名方案<project>_<service>_<index>
隔离环境,因此您可以在一台主机上运行同一compose-file的多个实例。
Docker Compose Docs中对此进行了说明。
但是您可以覆盖容器名称,如Compose docs
中所述container_name: my-web-container
答案 1 :(得分:1)
Docker Compose使用项目名称让用户部署multiple isolated environments on a single host。项目名称将默认使用包含您的docker-compose.yml
的文件夹的名称。
您可以通过以下方式更改容器的命名行为:
-p
之类的docker-compose -p project_name up
选项,这将导致容器被命名为project_name_myappv1_1
container_name
选项来指定自定义容器名称,即使在不同的部署上,该名称也将保持不变为per doc:
Compose使用项目名称将环境彼此隔离。 您可以在多个不同的上下文中使用该项目名称:
- 在开发主机上,用于创建单个环境的多个副本,例如,当您想为项目的每个功能分支运行稳定副本时
- 在CI服务器上,为了防止内部版本相互干扰,您可以将项目名称设置为唯一的内部版本号
- 在共享主机或开发主机上,以防止可能使用相同服务名称的不同项目相互干扰
默认项目名称是项目目录的基本名称。您可以使用
-p
命令行选项或COMPOSE_PROJECT_NAME
环境变量来设置自定义项目名称。