每次我运行以下命令:
> docker-compose up -d
在我拥有以下docker-compose.yaml文件的目录中,我会得到一个新的随机命名的卷。docker-compose.yaml:
version: '3.7'
services:
pgadmin:
restart: always
image: dpage/pgadmin4
container_name: pgadmin_container
environment:
PGADMIN_DEFAULT_EMAIL: ${PGADMIN_DEFAULT_EMAIL:-foobar}
PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD:-password}
ports:
- "${PGADMIN_PORT:-8080}:80"
命令行输出:
C:\postgres> docker-compose up -d
Creating network "postgres_default" with the default driver
Creating pgadmin_container ... done
C:\postgres> docker volume ls
DRIVER VOLUME NAME
local 3ee8f970ff477052c6fba9001575a0efa0254deb8dcf73ca97d0422231c74931
C:\postgres> docker-compose down
Stopping pgadmin_container ... done
Removing pgadmin_container ... done
Removing network postgres_default
C:\postgres> docker-compose up -d
Creating network "postgres_default" with the default driver
Creating pgadmin_container ... done
C:\postgres> docker volume ls
DRIVER VOLUME NAME
local 3ee8f970ff477052c6fba9001575a0efa0254deb8dcf73ca97d0422231c74931
local 705dad9c905eb8f1679a9ee4ff290363c40f5285b8048204cab44bce26916845
C:\postgres>
您会发现在第一次 "up" 之后,有一个名称为64个字符的卷,但在第二次调用 "docker-compose up" 之后,就会变成两个。这种模式会继续下去。
是什么导致了这些随机命名的卷?如何防止它们的创建或强制系统重复使用它们?
实际上,我已经编辑了我的docker-compose.yaml文件,以达到重新创建问题的最小要求。实际上,还有一个使用相同文件启动的Postgres数据库。