在特定卷上安装Docker

时间:2015-05-04 16:44:32

标签: docker

有没有办法在特定卷上安装Docker?

当我使用以下命令在Amazon Linux上安装Docker时:

sudo yum install docker

然后使用以下命令启动docker服务:

sudo service docker start

它创建了两个数据空间:

  • 数据文件:/ dev / loop0
  • 元数据文件:/ dev / loop1

如何将这些空格放在给定的卷上,例如/mnt/docker

2 个答案:

答案 0 :(得分:1)

这些是设备文件。它们总是在/dev中(实际上不是,但为了简单起见,我们只是假设这里)。 loop0loop1循环设备,由实际的Docker卷文件支持。您可以使用losetup -l

轻松查看此内容
> losetup -l
NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE
/dev/loop0         0      0         1  0 /var/lib/docker/devicemapper/devicemapper/data
/dev/loop1         0      0         1  0 /var/lib/docker/devicemapper/devicemapper/metadata

您可能想要做的事情(取决于您的文件系统布局)将Docker运行时目录移动到其他位置(默认为/var/lib/docker;所有Docker卷和图像都存储在那里) 。为此,您可以向Docker守护程序提供-g标志。

CentOS / Fedora / RHEL (可能,因为它基于RHEL,也是 Amazon Linux ),您可以修改{{1}这个文件(查找/etc/sysconfig/docker变量)。在 Ubuntu / Debian OPTIONS中可以查看。

答案 1 :(得分:0)

我能够通过编辑/ etc / sysconfig / docker

让docker将所有数据(容器及其数据卷)存储在文件系统(我的EBS卷)的不同位置

有一行:

OPTIONS="--default-ulimit nofile=1024:4096"

我添加了-g选项,如文档here

所示
OPTIONS="--default-ulimit nofile=1024:4096 --graph=/home/ec2-user/myvolume"

其中myvolume是我安装EBS卷的目录。当然,您需要停止并重新启动docker守护程序才能使其生效。

这是在亚马逊Linux上。显然,某些Linux上的docker配置文件是/ etc / default / docker。

相关问题