首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何更改“停靠器创建卷”命令的默认位置?

如何更改“停靠器创建卷”命令的默认位置?
EN

Stack Overflow用户
提问于 2016-03-15 14:47:53
回答 4查看 79.4K关注 0票数 58

当通过卷API创建卷时,即容器卷模式现在不一定是最佳实践了:

代码语言:javascript
复制
# docker volume inspect test-data
[
    {
        "Name": "test-data",
        "Driver": "local",
        "Mountpoint": "/var/lib/docker/volumes/test-data/_data"
    }
]

例如,我希望在/data中存在停靠卷(它安装在不同的物理卷中)。

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

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-08-25 15:37:04

您可以通过更改一个名为启动参数--data-root来更改Docker存储其文件(包括卷)的位置。

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

代码语言:javascript
复制
# 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

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

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

备注:在生产中要小心,在本地也要小心!您还必须将现有数据从/var/lib/docker/移动到新的位置,以便您的坞安装按照预期的方式工作。

如果希望特定文件夹位于特定位置,则可以使用来自新位置的符号链接。

票数 63
EN

Stack Overflow用户

发布于 2016-03-24 07:12:43

2017:对于17.05.0-行政长官(2017-05-04)PR 28696不赞成--graph标志或--data-root提交0

名称"graph“是很久以前的一个遗留术语,当时在默认位置/var/lib/docker/graph上有一个目录。 但是,该标志将指示"graph“目录的父目录的路径,该目录不仅包含图像数据,而且还包含卷、容器和网络的数据。 在最近版本的docker中,此目录还包含群集群集状态和节点证书。

使用第5922期PR 5978,文档已经更新。

示例

代码语言:javascript
复制
ExecStart=/usr/bin/dockerd -H fd:// --data-root=/mnt/ssd/lib/docker

2016年(现已被否决)

我只知道一个码头选项来改变/var/lib/docker本身,而不是它的子文件夹(停靠守护进程存储驱动程序使用的“图形”的一部分)。

请参阅docker守护进程“杂项选项”

Docker支持Docker数据目录(/var/lib/docker)和/var/lib/docker/tmp的软链接。 DOCKER_TMPDIR数据目录可以设置如下:

代码语言:javascript
复制
DOCKER_TMPDIR=/mnt/disk2/tmp /usr/local/bin/docker daemon -D -g /var/lib/docker -H unix:// > /var/lib/docker-machine/docker.log 2>&1
# or
export DOCKER_TMPDIR=/mnt/disk2/tmp
/usr/local/bin/docker daemon -D -g /var/lib/docker -H unix:// > /var/lib/docker-machine/docker.log

正如"码头图像存储在主机上的哪里?“中所提到的那样(这也适用于集装箱/卷):

/var/lib/docker目录的内容因driver Docker用于存储的而异。

票数 27
EN

Stack Overflow用户

发布于 2019-02-27 11:39:05

通过将/var/lib/docker的内容移动到一个新位置,然后放置指向新位置的符号链接(我从这里获得了这个解决方案https://askubuntu.com/questions/631450/change-data-directory-of-docker),成功地移动了docker的存储位置:

注意-这些步骤取决于当前的/var/lib/docker是一个实际的目录(而不是另一个位置的符号链接)。 1)停坞者:service docker stop。验证没有码头进程正在运行:ps aux | grep -i [d]ocker ( 2)二次检查码头确实没有运行。查看当前的停靠目录:ls /var/lib/docker/ ( 2b)备份- tar -zcC /var/lib docker > /mnt/pd0/var_lib_docker-backup-$(date +%s).tar.gz 3)将/var/lib/docker目录移动到新分区:mv /var/lib/docker /mnt/pd0/docker 4)建立一个符号链接:ln -s /mnt/pd0/docker /var/lib/docker 5)查看一下目录结构,以确保它看起来像mv:ls /var/lib/docker/之前的样子(注意后面的斜杠) 6)启动码头备份service docker start 7)重新启动容器(解析符号链接)

为我工作过Ubuntu 18.04.1 LTS在Azure VM与Docker 18.09.2

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36014554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档