Docker-撰写 postgres 卷不持久
Docker-compose postgres volume not persisting
不知道为什么,我的 docker 撰写文件是:
services:
db:
image: "postgres:latest"
ports:
- "5432:5432"
volumes:
- ods:/var/postgresql/data
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- POSTGRES_DB=ods
volumes:
ods:
当我这样做时 docker volume ls
我可以看到这条线
local postgres_ods
已创建(不知道为什么要在前面添加 postgres_)
然后我将创建一个 table,保存它,提交它,向其中添加一些数据。
做一个 docker compose down
然后做一个 docker compose up -d
我发现数据和 table 丢失了。
检查 postgres_ods
得到:
[
{
"CreatedAt": "2021-11-17T00:26:15Z",
"Driver": "local",
"Labels": {
"com.docker.compose.project": "postgres",
"com.docker.compose.version": "2.0.0",
"com.docker.compose.volume": "ods"
},
"Mountpoint": "/var/lib/docker/volumes/postgres_ods/_data",
"Name": "postgres_ods",
"Options": null,
"Scope": "local"
}
]
我做错了什么?
映射了错误的文件夹,这就是数据未保留的原因:
version: "3.9"
services:
db:
image: "postgres:latest"
ports:
- "5432:5432"
volumes:
- ods:/var/lib/postgresql/data
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- POSTGRES_DB=ods
volumes:
ods:
不知道为什么,我的 docker 撰写文件是:
services:
db:
image: "postgres:latest"
ports:
- "5432:5432"
volumes:
- ods:/var/postgresql/data
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- POSTGRES_DB=ods
volumes:
ods:
当我这样做时 docker volume ls
我可以看到这条线
local postgres_ods
已创建(不知道为什么要在前面添加 postgres_)
然后我将创建一个 table,保存它,提交它,向其中添加一些数据。
做一个 docker compose down
然后做一个 docker compose up -d
我发现数据和 table 丢失了。
检查 postgres_ods
得到:
[
{
"CreatedAt": "2021-11-17T00:26:15Z",
"Driver": "local",
"Labels": {
"com.docker.compose.project": "postgres",
"com.docker.compose.version": "2.0.0",
"com.docker.compose.volume": "ods"
},
"Mountpoint": "/var/lib/docker/volumes/postgres_ods/_data",
"Name": "postgres_ods",
"Options": null,
"Scope": "local"
}
]
我做错了什么?
映射了错误的文件夹,这就是数据未保留的原因:
version: "3.9"
services:
db:
image: "postgres:latest"
ports:
- "5432:5432"
volumes:
- ods:/var/lib/postgresql/data
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- POSTGRES_DB=ods
volumes:
ods: