据我所知,当docker映像被拉出来时,它们被安装到/var/lib/docker中。是否有办法改变这个位置,比如到一个挂载的卷,比如/mnt?
当前回答
更简单的方法:
停止docker服务
sudo systemctl stop docker
移动现有docker目录到新位置
sudo mv /var/lib/docker/ /path/to/new/docker/
创建符号链接
sudo ln -s /path/to/new/docker/ /var/lib/docker
启动docker服务
sudo systemctl start docker
其他回答
这篇博文帮助了我
以下是在创建Docker容器之后更改目录的步骤。
注意,你不需要编辑docker。服务或init。D文件,因为它将从下面提到的.json文件中读取更改。
编辑/etc/docker/daemon.Json(如果它不存在,创建它) 添加以下内容
{
"data-root": "/new/path/to/docker-data"
}
停止码头工人
sudo systemctl stop docker
检查码头已停止
ps aux | grep -i docker | grep -v grep
将文件复制到新位置
sudo rsync -axPS /var/lib/docker/ /new/path/to/docker-data
重新启动Docker
sudo systemctl start docker
检查Docker已使用新位置启动
docker info | grep 'Docker Root Dir'
检查一切已经启动,应该运行
docker ps
在服务器上保留两个副本几天,以确保没有问题出现,然后随意删除它。
sudo rm -r /var/lib/docker
在CentOS 6.5
service docker stop
mkdir /data/docker (new directory)
vi /etc/sysconfig/docker
添加以下行
other_args=" -g /data/docker -p /var/run/docker.pid"
然后保存文件并再次启动docker
service docker start
并将存储库文件创建在/data/docker中
对于那些期待2020年的人。以下是针对Windows 10 Machine的:
在Hyper-V管理器的全局操作窗格中单击Hyper-V 设置… 下的“虚拟硬盘”更改位置 默认到您想要的位置。 在虚拟机下更改 从默认位置移到所需位置,然后单击应用。
单击“确定”关闭Hyper-V设置页面。
该解决方案适用于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 19.03.14版本。下面的链接帮助了我。
检查这个链接
在/etc/docker/daemon.我在section下面添加了json文件:-
{
"data-root": "/hdd2/docker",
"storage-driver": "overlay2"
}
推荐文章
- 试图连接到https://index.docker.io时,网络超时
- 为每个Docker图像查找图层和图层大小
- 如何避免在为Python项目构建Docker映像时重新安装包?
- 如何用docker-compose更新现有图像?
- 如何在构建docker期间设置环境变量
- 拉访问拒绝存储库不存在或可能需要docker登录
- 如何在ENTRYPOINT数组中使用Docker环境变量?
- Docker:容器不断地重新启动
- Mac/OS X上的/var/lib/docker在哪里
- 如何用docker-compose标记docker图像
- 从环境文件中读入环境变量
- 禁用特定RUN命令的缓存
- 从Docker容器获取环境变量
- E: gnupg, gnupg2和gnupg1似乎没有安装,但是这个操作需要其中一个
- 如何从docker更改默认docker注册表。IO到我的私人注册表?