为什么docker compose up会删除其他正在运行的Conainter?
我构建了一个docker映像,并使用为什么docker compose up会删除其他正在运行的Conainter?,docker,docker-compose,Docker,Docker Compose,我构建了一个docker映像,并使用docker compose up命令启动了一个容器。然后,我修改了容器并执行了docker commit命令。当我尝试用新创建的图像启动容器时,它会启动新容器,但会破坏旧容器。当我下次尝试启动旧容器时,它会破坏新容器并启动旧容器。我很困惑。docker/docker compose是否应该这样做 我正在运行的命令 docker-compose -f docker-compose.yml up -d docker compose文件($IMAGE\u NA
docker compose up
命令启动了一个容器。然后,我修改了容器并执行了docker commit
命令。当我尝试用新创建的图像启动容器时,它会启动新容器,但会破坏旧容器。当我下次尝试启动旧容器时,它会破坏新容器并启动旧容器。我很困惑。docker/docker compose是否应该这样做
我正在运行的命令
docker-compose -f docker-compose.yml up -d
docker compose文件($IMAGE\u NAME和$CONTAINER\u NAME对于启动旧容器和新容器是不同的)
docker版本:
docker --version
Docker version 1.12.3, build 6b644ec
docker撰写版本:
docker-compose --version
docker-compose version 1.9.0, build 2585387
我的问题与此有关: 值得注意的是: @这不是一个bug,与缓存无关 两个目录的名称相同(docker),因此 在同一目录下运行docker compose up 项目每次更新相同的配置时 服务(web)更改图像名称和容器名称 看起来你真正想要的是两个独立的应用程序,每个都有 它自己的形象和容器。在这种情况下,我建议做 以下: 重命名每个目录,使其不同,或者使用 --project name选项或COMPOSE_project_name环境变量为每个应用程序设置不同的项目名称。例如,myappdev和 myappprod。从两个合成文件中删除容器名称选项- 没必要。如果在两个目录中都运行docker compose, 现在应该有两个容器:myappdev_web和myappprod_web
tl;博士:把它们放在不同的目录里!
docker-compose --version
docker-compose version 1.9.0, build 2585387