当通过卷API创建卷时,也就是说,容器卷模式现在不一定是最佳实践:
# docker volume inspect test-data
[
{
"Name": "test-data",
"Driver": "local",
"Mountpoint": "/var/lib/docker/volumes/test-data/_data"
}
]
例如,我希望docker卷存在于/data中(装载在不同的物理卷中)。
这对于符号链接是不可能的,对于绑定挂载也是可能的,但是我想知道Docker中是否有一些配置来更改每个单独卷的默认位置。
我成功地移动了docker的存储位置,将 /var/lib/docker的内容移动到一个新位置,然后放置一个指向新位置的符号链接(我从这里采取了这个解决方案https://askubuntu.com/questions/631450/change-data-directory-of-docker):
注意-这些步骤取决于您当前的 /var/lib/docker是一个实际的目录(不是到另一个位置的符号链接)。
1)停止docker:服务docker停止
。验证没有docker进程正在运行:ps aux|grep-i[d]ocker
2) 仔细检查docker是否真的没有运行。查看当前docker目录:ls/var/lib/docker/
2b)做一个备份-tar-zcC /var/libdocker
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) 启动docker备份
服务docker启动
7)重新启动容器(解析符号链接)
在Ubuntu 18.04上为我工作。1 LTS在具有Docker 18.09的Azure虚拟机上。2.
2017年:17.05。0-ce(2017-05-04),PR 28696不赞成使用--graph
标志或--data root
:提交1ecaed0
名称图
是很久以前的遗留术语,当时在默认位置/var/lib/docker/graph
上有一个目录。
然而,标志将指示图
目录的父目录的路径,该目录不仅包含图像数据,还包含卷、容器和网络的数据。
在docker的最新版本中,该目录还包含群集状态和节点证书。
随着问题5922和PR 5978,留档已经更新。
例子:
ExecStart=/usr/bin/dockerd -H fd:// --data-root=/mnt/ssd/lib/docker
2016年(现已弃用)
我只知道docker选项可以更改/var/lib/docker
本身,而不是其子文件夹(docker守护进程存储驱动程序使用的“图形”的一部分)
请参阅docker守护程序“杂项选项”:
Docker支持Docker数据目录(/var/lib/Docker
)和/var/lib/Docker/tmp
的软链接
DOCKER\u TMPDIR和数据目录可以如下设置:
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
如“主机上的docker映像存储在哪里?”(这也适用于集装箱/体积):
/var/lib/docker
目录的内容因Docker用于存储的驱动程序而异。
您可以通过更改Docker的一个名为--data root
的启动参数来更改Docker存储文件(包括卷)的位置。
如果您使用systemd进行服务管理,文件通常位于/lib/systemd/system/docker。服务
。按如下方式编辑文件:
# 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/卷/{volume_name}/_data
下
注意:生产要小心,本地也要小心!您还必须将存量数据从/var/lib/docker/
移动到新位置,以便docker安装按预期工作。
如果希望特定文件夹位于特定位置,则可以使用新位置的符号链接。
当通过volume API创建卷时,即容器卷模式现在不再是最佳实践: 例如,我希望docker卷存在于/data(挂载在不同的物理卷中)中。 对于符号链接是不可能的,对于绑定挂载是可能的,但是我想知道Docker中是否有一些配置来更改每个单独卷的默认位置。
问题内容: 通过卷API创建卷时,也就是说,由于容器卷模式现在不再是最佳做法,因此: 例如,我想在/ data中存在docker卷(安装在不同的物理卷中)。 这与符号链接是不可能的,绑定绑定是可能的,但是我想知道Docker中是否有一些配置可以更改每个单独卷的默认位置。 问题答案: 您可以更改泊坞存储其文件,包括通过改变它的一个卷启动参数叫。 如果您使用systemd进行服务管理,则该文件通常位于
问题内容: 当我运行docker时,下载的docker映像(似乎是)存储在某个地方。 由于该目录上的磁盘空间有限,因此我要同时将docker设置到多台机器上;有没有办法将此默认位置更改为ie ? 问题答案: 您可以使用option和您选择的目录来启动Docker守护程序。这将为Docker设置适当的运行时。 对于1.8版,应该是这样的: 对于早期版本,它将是: 从手册页:
我有一个来自https://hub.docker.com/r/jupyter/datascience-notebook/.的jupyter笔记本docker图像 通常我使用这个命令运行笔记本 这工作得很好,我收到了笔记本正在运行的消息。我能够创建笔记本,运行它们等。 现在我想从https://github.com/ipython-contrib/jupyter_contrib_nbextensio
问题内容: 我正在尝试使用pip安装Pandas,但遇到了一些麻烦。我刚运行成功下载了熊猫。但是,它没有下载到我想要的位置。这是我使用时看到的内容: 这样就安装好了。但是当我创建一个新的Python项目并在下面搜索熊猫时,我感到很困惑,因为它没有出现。但是,我过去下载的其他一些软件包的确出现了,所以我尝试看看它们在哪里。运行(我可以毫无问题地导入)产生: 这是在完全不同的目录中。为了确认我的错误,
我正在尝试使用pip安装Pandas,但遇到了一些问题。我刚刚运行了,成功下载了pandas。但是,它没有下载到我想要的位置。以下是我使用时看到的内容: 所以它被安装了。但是当我创建一个新的Python项目并在System Libs/lib/python下搜索熊猫时,我感到困惑,因为它没有显示出来。然而,我过去下载的其他一些包确实出现了,所以我试着看看它们在哪里。运行(我可以毫无问题地导入)生成: