Ant*_*den 3 docker docker-compose
我有一个问题。我将我的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:
Run Code Online (Sandbox Code Playgroud)
例如,当我docker-compose up -d从另一个目录运行时,它会重新创建容器
Recreating docker_postgres_1 ... done
Recreating docker_pgadmin_1 ... done
Run Code Online (Sandbox Code Playgroud)
有什么问题吗?
Docker Compose 会为其创建的所有内容附加一个名称前缀,但默认前缀仅基于当前目录的基本名称。如果你有这样的布局
projectA
+-- docker
| \-- docker-compose.yml
projectB
\-- docker
\-- docker-compose.yml
Run Code Online (Sandbox Code Playgroud)
那么两个docker-compose实例都会认为项目名称只是docker(包含 的目录的名称docker-compose.yml)并创建容器名称,例如docker_postgres_1.
docker-compose -p您可以通过使用选项重命名其中一个目录或设置COMPOSE_PROJECT_NAME环境变量来解决此问题。docker-compose.yml在项目的顶级目录中看到文件并不罕见,这可能有助于消除歧义。
| 归档时间: |
|
| 查看次数: |
4480 次 |
| 最近记录: |