gpt4 book ai didi

docker - Docker在另一个目录中撰写会影响其他容器

转载 作者:行者123 更新时间:2023-12-02 18:20:15 25 4
gpt4 key购买 nike

我有一个问题。我将docker-compose文件用于一个项目。然后我将其复制到另一个目录以运行另一个容器。但是,只要这样做,它就会重新创建现有的容器,或者如果我使用down命令,它还会从另一个目录中销毁容器,那可能是什么问题呢?

这是我的配置。

version: '3.5'

services:
postgres:
image: postgres
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: password
PGDATA: /data/postgres
volumes:
- postgres:/data/postgres
ports:
- "5440:5432"
networks:
- postgres
restart: unless-stopped

pgadmin:
image: dpage/pgadmin4
environment:
PGADMIN_DEFAULT_EMAIL: admin@admin.com
PGADMIN_DEFAULT_PASSWORD: rootme
volumes:
- pgadmin:/root/.pgadmin
ports:
- "8440:80"
networks:
- postgres
restart: unless-stopped

networks:
postgres:
driver: bridge

volumes:
postgres:
pgadmin:

例如,当我从另一个目录运行 docker-compose up -d时,它会重新创建容器
Recreating docker_postgres_1 ... done
Recreating docker_pgadmin_1 ... done

有什么问题

最佳答案

Docker Compose会在创建的所有内容上附加一个名称前缀,但是默认前缀仅基于当前目录的基本名称。如果您有这样的布局

projectA
+-- docker
| \-- docker-compose.yml
projectB
\-- docker
\-- docker-compose.yml

那么这两个 docker-compose实例都将认为项目名称只是 docker(包含 docker-compose.yml的目录的名称),并创建容器名称,例如 docker_postgres_1

您可以通过使用 docker-compose -p optionsetting a COMPOSE_PROJECT_NAME environment variable重命名目录之一来解决此问题。在项目的顶级目录中看到 docker-compose.yml文件并不稀奇,这可能有助于消除歧义。

关于docker - Docker在另一个目录中撰写会影响其他容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54857158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com