通过卷 API 创建卷时,即容器卷模式现在不一定是最佳实践:
# docker volume inspect test-data
[
{
"Name": "test-data",
"Driver": "local",
"Mountpoint": "/var/lib/docker/volumes/test-data/_data"
}
]
例如,我想在 /data 中存在 docker 卷(安装在不同的物理卷中)。
这不可能与符号链接有关,可能与绑定挂载有关,但我想知道 Docker 中是否有一些配置可以更改每个单独卷的默认位置。
原文由 dukeofgaming 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以通过更改名为
--data-root
的 启动参数 之一来更改 Docker 存储其文件(包括卷)的位置。如果您使用 systemd 进行服务管理,该文件通常位于
/lib/systemd/system/docker.service
。像这样编辑文件:或者,您可以编辑默认为
/etc/docker/daemon.json
的 Docker 守护程序配置文件。重新启动 Docker 守护程序,您的卷将位于
/new_location/volumes/{volume_name}/_data
注意:在生产和本地都要小心!您还必须将现有数据从
/var/lib/docker/
移动到新位置,以便 docker install 按预期工作。如果您希望特定文件夹位于特定位置,则可以使用新位置的符号链接。