You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker Compose中镜像与容器名称的生成规则是什么?

Docker Compose自动生成容器名称的规则

当你未在docker-compose.yml中通过container_name字段手动指定容器名称时,Docker Compose(v2及以上版本)会按照以下固定格式自动生成容器名:
[项目名称]-[服务名称]-[容器序号]

各部分的具体说明:

  • 项目名称:默认是执行docker compose命令时所在目录的名称;如果通过--project-name(简写-p)参数指定了项目名,则使用该自定义名称。
  • 服务名称:即你在docker-compose.yml的services块下定义的服务标识(比如你配置里的python-my-python-project)。
  • 容器序号:从1开始递增,当启动多个该服务的实例(比如通过deploy.replicas设置副本数,或用docker compose up --scale扩容)时,后续实例的序号会依次加1,保证每个容器名称唯一。

结合你的案例解释

你的容器名称是python-my-python-project-1,说明你的项目名称和服务名称完全一致(都是python-my-python-project),因此生成的名称简化呈现为[共同名称]-[序号],本质还是遵循项目名-服务名-序号的核心规则。

另外你提到手动指定容器名在Swarm部署中会引发问题,原因是Swarm模式下服务会根据配置的副本数自动创建多个容器实例,固定的容器名会导致命名冲突;而自动生成的带有序号的名称可以天然避免这个问题,确保每个实例拥有唯一标识。

内容的提问来源于stack exchange,提问作者user2138149

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 02:35:59