有一个文件可以docker-compose.yaml启动一组容器和一个带有 Postgres 的容器。
据我了解,通过设置参数volumes,我可以设置容器外的目录与容器内Postgres本身的数据之间的关联:
volumes:
- dbdata:/var/lib/postgresql/data
但是当我尝试跟随/var/lib/postgresql/data主机上的路径时,我没有找到任何数据。
docker-compose.yaml所有的:
version: "3.7"
services:
db:
image: postgres
restart: always
volumes:
- dbdata:/var/lib/postgresql/data
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: 1
POSTGRES_DB: statistic
ports:
- 5432:5432
api:
build: api/
restart: always
depends_on:
- db
links:
- db
ports:
- 8083:8080
ui:
build: ui/
restart: always
ports:
- 8082:80
volumes:
dbdata: {}
为什么
/var/lib/postgresql/data没有数据表明我误解了该条目的实际含义dbdata:/var/lib/postgresql/data?当
volumes: dbdata: {}如何在帮助下创建到主机的适当链接,
docker-compose.yaml以便在那里找到数据库数据?
意味着沿途容器中的数据
/var/lib/postgresql/data将存储在volume dbdata需要做:
这样容器中沿路径的数据
/var/lib/postgresql/data实际上是沿同一路径存储在本地文件系统中的。