我正在使用docker 1.9.1并编写1.6,我使用的标准postgres容器postgres:9.3.5
的数据量为/var/lib/postgresql/data
我希望将该文件外部挂载到/ data中不同的磁盘(不是根分区)。我将以下内容添加到我的撰写文件中。
volumes:
- /data/pg_data:/var/lib/postgresql/data
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 63G 5.9G 57G 10% /
devtmpfs 7.5G 120K 7.5G 1% /dev
tmpfs 7.5G 0 7.5G 0% /dev/shm
/dev/xvdb 985G 197M 934G 1% /data
启动容器导致我的数据量不存在于/ data上。 docker inspect显示以下内容。
Mounts": [
{
"Source": "/data/pg_data",
"Destination": "/var/lib/postgresql/data",
"Mode": "rw",
"RW": true
}
]
如果我使用符号链接
/docker -> /data/pg_data
并相应地更新docker-compose文件,一切正常。数据位于/data
有什么想法吗?
答案 0 :(得分:0)
您使用的是VirtualBox吗? 您可以创建一个单独的卷并将其安装在Postgres容器上:
$ docker volume create --name postgres_data
在docker-compose.yml
:
version: "2"
postgres:
image:postgres:9.3.5
...
volumes:
- postgres_data:/var/lib/postgresql/data
volumes:
postgres_data:
external: true
您可以将卷装入另一个容器并备份数据:
$ docker run -it -v postgres_data:/postgres_data $PWD:/backup alpine sh
$ cp -rf /postgres_data /backup/
答案 1 :(得分:0)
我最终将docker升级到1.9.1并且问题消失了。我找不到声音相关的docker发行说明中的错误,但它确实解决了几台机器上的问题。