据我所知,当docker映像被拉出来时,它们被安装到/var/lib/docker中。是否有办法改变这个位置,比如到一个挂载的卷,比如/mnt?
当前回答
基于Linux安装后步骤指南和我在web爬行时发现的官方方法如下:
覆盖docker服务配置文件: Sudo systemctl编辑docker.service 添加或修改以下行,替换您自己的值。 (服务) ExecStart = ExecStart = / usr / bin / dockerd——图=“/ mnt /码头工人”
保存文件。(它创建了:/etc/systemd/system/docker.service.d/override.conf)
重新加载systemctl配置。 Sudo systemctl daemon-reload 重启码头工人。 Sudo systemctl restart docker.service
在这之后,如果你可以核化/var/lib/docker文件夹,如果你没有任何映像,你可以备份。
其他回答
该解决方案适用于Red Hat 7.2和Docker 1.12.0
编辑文件 /lib/systemd/system/docker.服务。
在ExecStart指令的末尾添加-g /path/to/docker/。完整的直线应该是这样的。
ExecStart=/usr/bin/dockerd -g /path/to/docker/
执行以下命令
systemctl daemon-reload
systemctl restart docker
执行命令查看docker目录
docker info | grep "loop file\|Dir"
如果您在Red Hat或docker 1.7.1中有/etc/sysconfig/docker文件,请检查这个答案。
例如,不要使用符号链接将docker文件夹移动到/mnt。 这可能会导致使用docker rm命令时出现问题。
docker最好使用-g选项。 在Ubuntu上,你可以在/etc/default/docker.io中永久设置它。增强或替换DOCKER_OPTS行。
这里有一个例子: “DOCKER_OPTS = " - g / mnt /地方/其他/码头工人/”
一个更简单的解决方案是创建一个软链接点,指向您想要的任何东西,例如
link -s /var/lib/docker /mnt/whatever
它适用于我的CentOS 6.5服务器。
对于那些期待2020年的人。以下是针对Windows 10 Machine的:
在Hyper-V管理器的全局操作窗格中单击Hyper-V 设置… 下的“虚拟硬盘”更改位置 默认到您想要的位置。 在虚拟机下更改 从默认位置移到所需位置,然后单击应用。
单击“确定”关闭Hyper-V设置页面。
对于Debian/Ubuntu或Fedora,您可能可以使用其他答案。但是,如果/etc/default/docker或/etc/sysconfig/docker下没有文件,并且您的系统正在运行systemd,您可能希望通过h3nrik来遵循这个答案。我使用Arch,这对我有用。
基本上,您需要配置systemd以读取新的docker映像位置作为环境变量,并将该环境变量传递到docker守护进程执行脚本。
为了完整起见,以下是h3nrick的答案:
你有/lib/systemd/system/docker。服务文件?
如果是,编辑它,以便Docker服务使用通常的/etc/default/ Docker作为环境文件:EnvironmentFile=-/etc/default/ Docker。
在/etc/default/docker文件中添加DOCKER_OPTS="-g /home/rseixas/Programs/Docker/images"。
最后执行systemctl daemon-reload && systemctl restart docker。
欲了解更多信息,请参阅文档。
推荐文章
- 如何从DockerFile运行docker实例?
- 我是否试图连接到启用TLS的没有TLS的守护进程?
- Docker -一种访问主机USB或串行设备的方法?
- Docker:无效引用格式
- 将AWS凭证传递给Docker容器的最佳方法是什么?
- 如何在docker-compose中设置主机名?
- 为什么Docker容器映像这么大?
- 如何在docker撰写版本3中指定内存和CPU限制
- Docker和安全密码
- 如何让Docker容器在系统引导时自动启动?
- 如何在Docker容器中用模式初始化MySQL数据库?
- PYTHONUNBUFFERED在docker文件中的用途是什么?
- 如何在Dockerfile CMD中使用变量?
- 将主机端口转发到docker容器
- “docker compose”与“docker-compose”的区别