首页 > 解决方案 > 为什么docker容器名称末尾有一个随机数?

问题描述

我有一个 docker-compose.yml 文件如下(其中的一部分):

version: '3.5'
services:
    framework:
    image: ${DOCKER_REGISTRY}/gme/fmk:${COMPOSE_PROJECT_NAME}
    build: ./fmk
    ports:
      - "2020:2020"
      - "2025:2025"
      - "4999:4999"
    volumes:
      - ${FOLDER_ENV}/workspace/logs/framework:/var/log/gcti
      - ${FOLDER_ENV}/..:/usr/local/genesys/gsg_qaart

我得到的是:

vagrant@docker:/repos/gsg_qaart/docker$ docker-compose ps
]              Name                             Command               State                                             
Ports
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
callback_framework_1_df361f67842c   /bootstrap.sh                    Up      0.0.0.0:2020->2020/tcp, 0.0.0.0:2025->2025/tcp, 0.0.0.0:4999->4999/tcp, 5432/tcp

可以看到名字很奇怪,应该是“callback_framwork_1”,为什么后面有一个随机数?

顺便说一句,我正在使用:

vagrant@docker:/repos/gsg_qaart/docker$ docker -v
Docker version 18.09.0, build 4d60db4
vagrant@docker:/repos/gsg_qaart/docker$ docker-compose -v
docker-compose version 1.23.1, build b02f1306

谢谢。

标签: dockerdocker-composecontainers

解决方案


编辑。

此更改在 v1.23.2 中恢复


所以compose v1.23有一个重要的变化,https://github.com/docker/compose/releases/tag/1.23.0

此版本中 Compose 创建的容器的默认命名方案已从 project_service_index 更改为 project_service_index_slug,其中 slug 是随机生成的十六进制字符串。请确保在升级之前相应地更新依赖旧命名方案的脚本。

因此,如果您想要一个确定的容器名称,请使用

services:
    framework:
        container_name: framework

推荐阅读