热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Docker组成继续替换现有容器

如何解决《Docker组成继续替换现有容器》经验,为你挑选了1个好方法。

我从以下配置的两个分支获得了代码:

泊坞窗,compose.yml:

version: '3'
services:
  server:
    build: .
    restart: always
    image: XXXXX
    entrypoint: ["./run.sh"]
    container_name: XXXX
    ports:
      - 127.0.0.1:8000:8000
    volumes:
      - .:/app

    depends_on:
      - redis
  redis:
    container_name: XXXXX
    image: redis:4-alpine

当docker撰写第一个分支时,它运行良好,但是当我编写第二个分支时,原始容器成为新的分支容器,我希望两个分支容器同时存在.

当我编写第二个分支代码时,以下消息显示:

Recreating XXXXX_branch2 ... done
Attaching to XXXXX_branch1

yamenk.. 8

Docker compose将容器与项目名称(默认目录名称)和服务名称或container_name(如果指定)相关联.因此,如果两个分支都具有相同目录名下的compose文件,因此compose文件将被解释为引用同一容器,这将导致重新创建容器.

要避免这种情况,您可以--project-name选择覆盖默认值(目录名称).

docker-compose --project-name branch1 up -d
docker-compose --project-name branch2 up -d

在这种情况下,将创建两个容器.

但请注意,如果两个撰写文件具有相同的container_name集合,则会发生冲突,第二个容器创建将失败.要避免这种情况,请使用不同的容器名称或删除container_name属性,以获取默认的容器名称__1



1> yamenk..:

Docker compose将容器与项目名称(默认目录名称)和服务名称或container_name(如果指定)相关联.因此,如果两个分支都具有相同目录名下的compose文件,因此compose文件将被解释为引用同一容器,这将导致重新创建容器.

要避免这种情况,您可以--project-name选择覆盖默认值(目录名称).

docker-compose --project-name branch1 up -d
docker-compose --project-name branch2 up -d

在这种情况下,将创建两个容器.

但请注意,如果两个撰写文件具有相同的container_name集合,则会发生冲突,第二个容器创建将失败.要避免这种情况,请使用不同的容器名称或删除container_name属性,以获取默认的容器名称__1


推荐阅读
author-avatar
平凡岁月ss
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有