CentOS7如何修改Docker镜像默认存储位置
作者:程行者
这篇文章主要介绍了CentOS7如何修改Docker镜像默认存储位置问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
CentOS7修改Docker镜像默认存储位置
停止docker服务
# systemctl stop docker
修改docker服务启动文件
# vim /etc/sysconfig/docker OPTIONS='--selinux-enabled --log-driver=journald --graph=/docker --signature-verification=false --insecure-registry 192.168.1.1' #--insecure-registry 192.168.1.1这是仓库地址可以忽略 # /docker这个目录就是我用于替代默认/var/lib/docker的目录,目录创建好之后记得“mv /var/lib/docker/* /docker/”,把所有原先目录下所有的文件和目录拷贝到新目录下。
重新加载配置并启动
# systemctl daemon-reload # systemctl start docker 检查docker信息 # docker info
修改docker默认存储路径方法总结
默认情况下,docker镜像的默认存储路径是/var/lib/docker,这相当于直接挂载根目录下,然而如果在安装系统时选择了自动分区,根分区一般不会分太大,CentOS会默认分50G,麒麟v4大概是100G。
docker的默认路径:
修改docker的默认路径,有三种方法
先创建新的docker目录
mkdir /home/docker
centos在安装时如果选择默认分区,会把最大存储空间分给home,此处也可另外挂载一块磁盘,把新的docker目录建在新磁盘上面
如果已经有镜像已经加载,已经有容器正在运行,请先停了docker服务,并把数据迁移到新目录中
1.修改docker.service
vim /usr/lib/systemd/system/docker.service #在里面的EXECStart的后面增加--graph /home/docker: ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --graph /home/docker
保存退出后执行以下命令
systemctl enable docker systemctl daemon-reload systemctl restart docker
2.编辑配置文件/etc/docker/daemon.json
添加 "data-root": "/home/docker",
vim /etc/docker/daemon.json { "registry-mirrors": ["https://registry.docker-cn.com"], "data-root": "/home/docker", "log-driver":"json-file", "log-opts": {"max-size":"100m"} }
保存退出后
重启docker应用
systemctl restart docker
3.使用软链接
使用软链接需要先把/var/lib下的docker目录删除,删除之前记得迁移数据。然后用下面命令创建软链接
ln -s /home/docker /var/lib systemctl restart docker
重启docker
这就是修改docker默认路径之方法,可根据实际情况选用。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。