将默认 docker 容器移动到磁盘上的另一个位置

Jor*_*tov 5 performance builder docker

我们正在尝试弄清楚如何更改docker容器的目标位置。默认情况下,它在 /var/lib/docker/containers 中创建。假设我想将它移动到 /tmp/docker。到目前为止,我能找到的只是 docker 卷,但它并没有做这件事,因为这种用法的目的是不同的。

我们想要做的是将容器放在服务器的 RAM 内存中,这样我们就可以显着减少构建二进制文件所花费的时间。

是否可以?

问候, 乔丹

Amo*_*rin 6

由@thaJeztah 查看https://github.com/docker/docker/issues/3127

也可以使用daemon.json配置文件代替/etc/default/docker. 在/etc/default/docker仅用于运行新贵系统,而不是为运行systemd系统,因此更便于携带。它还允许在不重新启动守护程序的情况下重新加载一些配置设置;

https://docs.docker.com/engine/reference/commandline/daemon/#daemon-configuration-file

例如

我在 Ubuntu 16.04.1 上,但这应该无关紧要,因为这是一个跨发行版解决方案。

只需将此json放入/etc/docker/daemon.json

{
"data-root": "/path/to/docker"
}
Run Code Online (Sandbox Code Playgroud)

对于旧版本,它是“图形”选项:

{
"graph": "/path/to/docker"
}
Run Code Online (Sandbox Code Playgroud)

为我工作,我不必与暴发户或 systemd 搞混。


Gre*_*reg 5

似乎有一个 -g 命令行选项,我真的不明白为什么它被称为图形...

-g, --graph="/var/lib/docker"              Path to use as the root of the Docker runtime
Run Code Online (Sandbox Code Playgroud)

https://docs.docker.com/reference/commandline/cli/

mkdir /tmp/docker && docker -g /tmp/docker ...
Run Code Online (Sandbox Code Playgroud)