Mal*_*ear 5 postgresql pgadmin docker pgadmin-4
每次我运行以下命令时:
> docker-compose up -d
Run Code Online (Sandbox Code Playgroud)
...在我有以下 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"
Run Code Online (Sandbox Code Playgroud)
命令行输出:
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>
Run Code Online (Sandbox Code Playgroud)
您会看到,在第一个“up”之后有一个带有 64 个字符名称的卷,在第二次调用“docker-compose up”之后,有两个。这种模式还在继续。
是什么导致随机命名的卷?我如何防止它们创建强制系统重新使用它们?
我实际上已经编辑了我的 docker-compose.yaml 文件,以达到重现问题的最低限度。实际上,还有一个使用相同文件启动的 Postgres 数据库。
atl*_*ine 11
如果你docker inspect dpage/pgadmin4过去看看,你会看到下一个:
"Volumes": {
"/var/lib/pgadmin": {}
},
Run Code Online (Sandbox Code Playgroud)
这意味着在它的 中Dockerfile,它定义了一个Anonymous volumes类似的下一个:
VOLUME ["/var/lib/pgadmin"]
Run Code Online (Sandbox Code Playgroud)
每次上/下服务时,上面都会更改卷名。为了使它不改变,你可以用 覆盖它Named volumes,如下所示:
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"
volumes:
- my-data:/var/lib/pgadmin
volumes:
my-data:
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4028 次 |
| 最近记录: |