问题描述
我正在 DigitalOcean Docker droplet 中运行一个 docker-compose 项目。
我也有一个持久卷。
它已安装在 /mnt/volume_fra1_01
在我的 docker-compose.yml
中,我定义了数据库的卷:
...
db:
image: postgres:12.0-alpine
volumes:
- postgres_data:/var/lib/postgresql/data/
env_file:
- ./postgres/.env
...
volumes:
postgres_data:
...
我已经用 sudo ln -s /mnt/volume_fra1_01 postgres_data
但是我的数据库不是持久化的。当我清除容器时,数据库消失了。不知何故,/var/lib/postgresql/data/
没有使用安装的卷。
解决方法
当你写这个时:
- postgres_data:/var/lib/postgresql/data/
postgres_data 是一个命名卷。不是本地文件夹。这是数字海洋告诉你的吗?
你可以试试这个吗:
- ./postgres_data:/var/lib/postgresql/data/
,
您能否尝试在没有符号链接的情况下配置您的卷:
volumes:
- /mnt/volume_fra1_01:/var/lib/postgresql/data/
应该可以。