首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么码头-组合删除其他运行中的指针?

为什么码头-组合删除其他运行中的指针?
EN

Stack Overflow用户
提问于 2017-04-25 23:55:49
回答 1查看 127关注 0票数 2

我构建了一个码头映像,并使用docker-compose up命令启动了一个容器。然后我修改了容器并执行了一个docker commit命令。当我尝试用新创建的映像启动容器时,它会启动新容器,但破坏旧容器。当我下一次尝试引导旧容器时,它会破坏新容器并启动旧容器。我很困惑。码头工/码头工应该这么做吗?

我正在运行的命令

代码语言:javascript
复制
docker-compose -f docker-compose.yml up -d 

坞-组合文件($IMAGE_NAME和$CONTAINER_NAME用于启动旧容器和新容器都是不同的)

代码语言:javascript
复制
version: '2'                                                                                                                       
services:
  yolo:
    build:
      context: .
      dockerfile: Dockerfile
    image: $IMAGE_NAME
    container_name: $CONTAINER_NAME
    ports:                      
      - "$EXTERNAL_SSH_PORT:22"

码头版本:

代码语言:javascript
复制
docker --version
Docker version 1.12.3, build 6b644ec

船坞-撰写版本:

代码语言:javascript
复制
docker-compose --version
docker-compose version 1.9.0, build 2585387
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-26 00:52:42

我的问题与此有关:

https://github.com/docker/compose/issues/3472

值得注意的是:

@kachkaev --这不是一个bug,与缓存无关。 您的两个目录都被命名为相同的东西(docker),所以当您在任意一个目录中运行docker时,您正在处理的是同一个项目。每次更新相同服务(web)的配置,以同时更改图像名称和容器名称。 看起来你真正想要的是两个独立的应用程序,每个应用程序都有自己的图像和容器。在这种情况下,我建议做以下工作: 要么重命名每个目录,使它们不同,要么使用--项目名称选项或COMPOSE_PROJECT_NAME环境变量为每个应用程序设置不同的项目名称。例如,myappdev和myappprod。从两个组合文件中删除container_name选项--这是不必要的。如果在这两个目录中运行docker-组合,那么现在应该有两个容器: myappdev_web和myappprod_web。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43622783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档