当通过卷 API 创建卷时,也就是说,容器卷模式现在不一定是最佳实践:
# docker volume inspect test-data
[
{
"Name": "test-data",
"Driver": "local",
"Mountpoint": "/var/lib/docker/volumes/test-data/_data"
}
]
例如,我希望 /data 中存在 docker 卷(安装在不同的物理卷中)。
这不可能用符号链接来实现,可以用绑定安装来实现,但我想知道 Docker 中是否有一些配置来更改每个单独卷的默认位置。
您可以通过更改其中之一来更改 Docker 存储其文件(包括卷)的位置启动参数 https://docs.docker.com/engine/reference/commandline/dockerd/ called --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
Note:在生产和本地化时都要小心!您还必须将现有数据从/var/lib/docker/
到新位置,以便 docker 安装按预期工作。
如果您希望特定文件夹位于特定位置,则可以使用新位置的符号链接。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)