docker-compose 不会使用我的命名卷
docker-compose won't use my named volumes
所以我是 docker 的新手。我在将命名卷附加到 swarm 中的服务时遇到问题。
这是我的 docker-compose.yml...
version: '3'
services:
ned:
image: keli
ports:
- "8080:8080"
depends_on:
- craig
- paul
craig:
image: cb
volumes:
- cbKeli:/opt/couchbase/var
ports:
- "8091:8091"
paul:
image: pg
volumes:
- pgKeli:/var/lib/postgresql/data
ports:
- "5432:5432"
volumes:
pgKeli:
cbKeli:
然而,在 docker-compose up
之后,我得到了新的卷。
$ docker volume ls | grep -i keli
DRIVER VOLUME NAME
local cbKeli
local kelidocker_cbKeli
local kelidocker_pgKeli
local pgKeli
这是怎么回事?我怎样才能让我的新群使用现有的命名卷?
你需要告诉compose这是一个外部创建的卷。为此,您可以像这样在卷定义上使用外部密钥:
volumes:
cbKeli:
external: true
pgKeli:
external: true
有关外部卷的更多信息,请参阅以下文档:https://docs.docker.com/compose/compose-file/#external
所以我是 docker 的新手。我在将命名卷附加到 swarm 中的服务时遇到问题。
这是我的 docker-compose.yml...
version: '3'
services:
ned:
image: keli
ports:
- "8080:8080"
depends_on:
- craig
- paul
craig:
image: cb
volumes:
- cbKeli:/opt/couchbase/var
ports:
- "8091:8091"
paul:
image: pg
volumes:
- pgKeli:/var/lib/postgresql/data
ports:
- "5432:5432"
volumes:
pgKeli:
cbKeli:
然而,在 docker-compose up
之后,我得到了新的卷。
$ docker volume ls | grep -i keli
DRIVER VOLUME NAME
local cbKeli
local kelidocker_cbKeli
local kelidocker_pgKeli
local pgKeli
这是怎么回事?我怎样才能让我的新群使用现有的命名卷?
你需要告诉compose这是一个外部创建的卷。为此,您可以像这样在卷定义上使用外部密钥:
volumes:
cbKeli:
external: true
pgKeli:
external: true
有关外部卷的更多信息,请参阅以下文档:https://docs.docker.com/compose/compose-file/#external