我正在docker容器中配置postgres,当我将/ var / lib / postgresql / data映射到项目目录中的目录./data时,该目录被锁定并且为空。
我正在docker容器中检查此目录,并且所有文件都包含在其中。
当我将数据映射到虚拟卷时,一切正常pgsql:/ var / lib / postgresql / data
这很好:
version: "3"
volumes:
pgsql: ~
mongo: ~
...
pgsql:
container_name: "pgsql"
hostname: "pgsql"
image: "postgres:9.5"
volumes:
- "pgsql:/var/lib/postgresql/data"
environment:
- "POSTGRES_DB=${DB_NAME}"
- "POSTGRES_USER=${DB_USER}"
- "POSTGRES_PASSWORD=${DB_PASS}"
ports:
- "5432:5432"
但是当我这样做
version: "3"
volumes:
pgsql: ~
mongo: ~
...
pgsql:
container_name: "pgsql"
hostname: "pgsql"
image: "postgres:9.5"
volumes:
- "./data:/var/lib/postgresql/data"
environment:
- "POSTGRES_DB=${DB_NAME}"
- "POSTGRES_USER=${DB_USER}"
- "POSTGRES_PASSWORD=${DB_PASS}"
ports:
- "5432:5432"
主机上的数据目录为空。
我记得同一件事在MySQL中也起作用,我想将数据映射到物理目录的原因是我想在生产环境中使用docker,并且我想将数据存储在虚拟卷以及目录中
预先感谢