小编典典

如何更改“ docker create volume”命令的默认位置?

docker

通过卷API创建卷时,也就是说,由于容器卷模式现在不再是最佳做法,因此:

# docker volume inspect test-data
[
    {
        "Name": "test-data",
        "Driver": "local",
        "Mountpoint": "/var/lib/docker/volumes/test-data/_data"
    }
]

例如,我想在/ data中存在docker卷(安装在不同的物理卷中)。

这与符号链接是不可能的,绑定绑定是可能的,但是我想知道Docker中是否有一些配置可以更改每个单独卷的默认位置。


阅读 3296

收藏
2020-06-17

共1个答案

小编典典

您可以更改泊坞存储其文件,包括通过改变它的一个卷启动参数--data- root

如果您使用systemd进行服务管理,则该文件通常位于/lib/systemd/system/docker.service。这样编辑文件:

# Old - taken from the generated docker.service file in Ubuntu 16.04's docker.io package
ExecStart=/usr/bin/dockerd -H fd:// $DOCKER_OPTS

# New
ExecStart=/usr/bin/dockerd --data-root /new_location/ -H fd:// $DOCKER_OPTS

或者,您可以编辑默认为的Docker守护程序配置文件/etc/docker/daemon.json

重新启动Docker守护程序,您的卷将位于 /new_location/volumes/{volume_name}/_data

注意 :在生产过程中以及在本地都要小心!您还必须将现有数据从/var/lib/docker/移到新位置,以使Docker安装能够按预期工作。

如果要将特定文件夹放在特定位置,则可以使用新位置的符号链接。

2020-06-17