当前位置: 首页 > 面试题库 >

为什么Docker容器名称的末尾会有一个随机数?

郎俊雅
2023-03-14
问题内容

我有一个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

谢谢。


问题答案:

编辑。

此更改已在v1.23.2中恢复

因此,撰写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


 类似资料:
  • 我已经创建并将php-apache容器与MYSQL容器链接起来。但是当我试图从php文件中使用PDO建立连接时,我得到了错误。有人知道怎么修好它吗?多谢了。 PDO错误: 致命错误:未捕获的PDOException:PDO::__Construct():php_network_getAddress:getaddrinfo失败:名称或服务在/var/www/html/index.php:3 Stac

  • 问题内容: 例如,此代码导致创建名为“数据”的集合 并且此代码导致创建了一个名为“用户”的集合 谢谢 问题答案: 猫鼬通过使收藏名称复数来尝试变得聪明。但是,您可以强制将其设置为所需的值:

  • 无法删除所有本地分支。最后附加了一些特殊字符,git抛出以下错误:

  • 由于ES的docker容器,我面临一个奇怪的问题,我之前在9200主机端口的docker容器中运行独立的ES 7.10(内部docker端口与标准9200和9300 ES端口相同),同时,我启动了三个ES docker容器(有一个不同的小版本7)(它们应该组成集群,让我们把它命名为docker ES集群)。 这三个ES docker容器使用的主机端口为9200、92019202,因此,由于端口冲突

  • 问题内容: 我在后台运行一个容器 它迅速退出。但是,如果我在前台运行,则可以正常运行。我使用检查了日志 没有错误。有任何想法吗? DOCKERFILE start-all.sh 问题答案: 一个Docker容器的主要过程完成后退出。 在这种情况下,它将在脚本结束时退出。我对hadoop不太了解,无法在这种情况下告诉您如何做,但是您需要要么在前台运行某些东西,要么使用诸如runit或supervis

  • 问题内容: 我正在开发服务,并在那里使用docker compose来旋转诸如postgres,redis,elasticsearch之类的服务。我有一个基于RubyOnRails的Web应用程序,并从所有这些服务中进行读写操作。 这是我的 我可以在此网络中ping容器 到目前为止,一切都很好。现在我想在主机上的Rails应用程序上运行ruby,但是能够像目前这样使用url访问postgres实例