Python Docker compose安装卷不工作
在docker compose down之后不是-v或--volume, 并重建Python Docker compose安装卷不工作,python,postgresql,docker,docker-compose,Python,Postgresql,Docker,Docker Compose,在docker compose down之后不是-v或--volume, 并重建docker compose up-d--build 新的PostgreSQL容器中没有数据 "Mounts": [ { "Type": "volume", "Name": "americanos-project_db_vol", "Source": "/var/lib/docker/volumes
docker compose up-d--build
新的PostgreSQL容器中没有数据
"Mounts": [
{
"Type": "volume",
"Name": "americanos-project_db_vol",
"Source": "/var/lib/docker/volumes/americanos-project_db_vol/_data",
"Destination": "/vol/db",
"Driver": "local",
"Mode": "rw",
"RW": true,
"Propagation": ""
},
{
"Type": "volume",
"Name": "27b655ba943c50d63af79584f764bd3944b0918ceb299621a5f0e80562fc9638",
"Source": "/var/lib/docker/volumes/27b655ba943c50d63af79584f764bd3944b0918ceb299621a5f0e80562fc9638/_data",
"Destination": "/var/lib/postgresql/data",
"Driver": "local",
"Mode": "",
"RW": true,
"Propagation": ""
}
],
奇怪的是,正如你所看到的,我还有一本书,它运行得非常完美
这是我的docker-compose.yml
# the version of Docker-compose
version: "3"
services:
app:
build:
context: .
ports:
- "8000:8000"
volumes:
- ./app:/app
- persistent_vol:/vol/web
command: >
sh -c "python manage.py runserver 0.0.0.0:8000"
environment:
- DB_HOST=db
- DB_NAME=americanos
- DB_USER=postgres
- DB_PASS=supersecretpassword
depends_on:
- db
db:
image: postgres:11-alpine
volumes:
- db_vol:/vol/db
environment:
- POSTGRES_DB=americanos
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=supersecretpassword
volumes:
persistent_vol:
db_vol:
这是inpect db docker容器
"Mounts": [
{
"Type": "volume",
"Name": "americanos-project_db_vol",
"Source": "/var/lib/docker/volumes/americanos-project_db_vol/_data",
"Destination": "/vol/db",
"Driver": "local",
"Mode": "rw",
"RW": true,
"Propagation": ""
},
{
"Type": "volume",
"Name": "27b655ba943c50d63af79584f764bd3944b0918ceb299621a5f0e80562fc9638",
"Source": "/var/lib/docker/volumes/27b655ba943c50d63af79584f764bd3944b0918ceb299621a5f0e80562fc9638/_data",
"Destination": "/var/lib/postgresql/data",
"Driver": "local",
"Mode": "",
"RW": true,
"Propagation": ""
}
],
我错过了什么吗?将
/vol/db
设置为PGDATA
环境变量,或者将卷路径更改为/var/lib/postgresql/data
,因为postgres的默认数据文件位于/var/lib/postgresql/data
。
或
db:
image: postgres:11-alpine
volumes:
- db_vol:/var/lib/postgresql/data # changed
environment:
- POSTGRES_DB=americanos
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=supersecretpassword