当我运行带有卷映射的Docker容器时会创建两个卷

时间:2020-11-11 05:12:13

标签: postgresql docker

我正在使用以下命令创建postgreSQL容器

sudo docker run -d --name=pg -p 5432:5432 -e POSTGRES_PASSWORD=secret -e PGDATA=/pgdata -v pg:/pgdata postgres

运行此容器后,通过运行以下命令检查卷

sudo docker volume ls

DRIVER              VOLUME NAME
local               6d283475c6fe923155018c847f2c607c464244cb6767dd37a579824cf8c7e612
local               pg

我得到两卷。 pg volume是在命令中创建的,但是第二个是什么??

1 个答案:

答案 0 :(得分:0)

如果您查看Docker Hub decomposition of the postgres image,则会发现它有一个声明

VOLUME ["/var/lib/postgresql/data"]

如果您未在该目录上明确挂载其他内容,则Docker将创建一个匿名卷并将其挂载到该目录中。此行为与named volume相同,只是它没有特定的名称。

docker inspect主要转储低级诊断信息,但是它应该包含安装信息,您应该看到两个卷安装,一个在默认PostgreSQL数据目录上具有匿名卷,第二个与显式匹配。安装在/pgdata上。