Docker Volume另一个磁盘

时间:2016-04-18 20:04:14

标签: docker docker-compose

我正在使用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

的正确位置

有什么想法吗?

2 个答案:

答案 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发行说明中的​​错误,但它确实解决了几台机器上的问题。

相关问题