修改 Docker 镜像默认存储位置的方法
点击上方 "编程技术圈"关注, 星标或置顶一起成长
后台回复“大礼包”有惊喜礼包!
每日英文
Just be yourself and never change for anyone.If others can't accept the worst of you,either can they deserve the perfect one.
勇敢的做自己,不要为任何人而改变。如果他们不能接受最差的你,也不配拥有最好的你。
每日掏心话
真正重要的不是生命里的岁月,而是岁月中的生活。有时候,你必须跌到你从未经历的谷底,才能再次站在你从未到达的高峰。
责编:乐乐 | 来自:奇妙的Linux世界
编程技术圈(ID:study_tech)第 1217 次推文
往日回顾:拆解1968年的美国军用电脑,真的怀疑是“穿越”啊!
正文
由于系统初始分区的原因,导致操作系统中对应 / 分区不会太大,通过 /var 目录不会单独分区。如果上面运行 Docker 服务,经过长时间的使用,会使原本就比较大的分区越来越不够用。如何更好地的处理这个问题呢?
1. 使用软链接我们知道在操作系统当中,默认情况下 Docker 容器的存放位置在 /var/lib/docker 目录下面,可以通过下面命令查看具体位置。
# 默认存放位置
$ sudo docker info | grep "Docker Root Dir"
解决默认存储容量不足的情况,最直接且最有效的方法就是挂载新的分区到该目录。但是在原有系统空间不变的情况下,所以采用软链接的方式,修改镜像和容器的存放路径达到同样的目的。
# 停掉Docker服务
$ systemctl restart docker# 停掉Docker服务
$ service docker stop
然后移动整个 /var/lib/docker 目录到空间不较大的目的路径。这时候启动 Docker 时发现存储目录依旧是 /var/lib/docker 目录,但是实际上是存储在数据盘 /data/docker 上了。
# 移动原有的内容
$ mv /var/lib/docker /data/docker# 进行链接
$ ln -sf /data/docker /var/lib/docker
2. 指定容器启动参数在配置文件中指定容器启动的参数 --graph=/var/lib/docker 来指定镜像和容器存放路径。Docker 的配置文件可以设置大部分的后台进程参数,在各个操作系统中的存放位置不一致。在 Ubuntu 中的位置是 /etc/default/docker 文件,在 CentOS 中的位置是 /etc/sysconfig/docker 文件。
搜索公众号后端架构师后台回复“架构整洁”,获取一份惊喜礼包。
# CentOS6
# 因为Ubuntu默认开启了selinux机制
OPTIONS=--graph="/data/docker" --selinux-enabled -H fd://# CentOS7
# 修改docker.service文件,使用-g参数指定存储位置
$ vi /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --graph /new-path/docker
# Ubuntu
# 因为Ubuntu默认没开启selinux机制
OPTIONS=--graph="/data/docker" -H fd://
重新启动之后,Docker 的路径就改成 /data/docker 了。
# 重新reload配置文件
$ sudo systemctl daemon-reload# 重启docker服务
$ sudo systemctl restart docker.service
如果 Docker 的版本是 1.12 或以上的,可以修改或新建 daemon.json 文件。修改后会立即生效,不需重启 Docker 服务。
# 修改配置文件
$ vim /etc/docker/daemon.json
{"registry-mirrors":["http://7e61f7f9.m.daocloud.io"],"graph": "/new-path/docker"
}
3. System 下创建配置文件在 /etc/systemd/system/docker.service.d 目录下创建一个 Drop-In 文件 docker.conf,默认 docker.service.d 文件夹不存在,必须先创建它。创建 Drop-In 文件的原因,是我们希望 Docker服务使用 docker.conf 文件中提到的特定参数,将默认服务所使用的位于 /lib/systemd/system/docker.service 文件中的参数进行覆盖。
# 定义新的存储位置
$ sudo vi /etc/systemd/system/docker.service.d/docker.conf
[Service]
ExecStart=/usr/bin/dockerd --graph="/data/docker" --storage-driver=devicemapper
保存并退出 vim 编辑器 /data/docker 就是新的存储位置,而 devicemapper 是当前 Docker 所使用的存储驱动。如果你的存储驱动有所不同,请输入之前第一步查看并记下的值。现在,你可以重新加载服务守护程序,并启动 Docker 服务了,这将改变新的镜像和容器的存储位置。为了确认一切顺利,运行 docker info 命令检查 Docker 的根目录。
# 重新reload配置文件
$ sudo systemctl daemon-reload# 重启docker服务
$ sudo systemctl start docker
参考文档https://blog.51cto.com/forangela/1949947
PS:欢迎在留言区留下你的观点,一起讨论提高。如果今天的文章让你有新的启发,欢迎转发分享给更多人。版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并表示歉意。谢谢!欢迎加入后端架构师交流群,在后台回复“学习”即可。最近面试BAT,整理一份面试资料《Java面试BAT通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。在这里,我为大家准备了一份2021年最新最全BAT等大厂Java面试经验总结。
别找了,想获取史上最简单的Java大厂面试题学习资料
扫下方二维码回复「面试」就好了猜你还想看
阿里、腾讯、百度、华为、京东最新面试题汇集
Token多平台身份认证架构设计思路
成人版“抖音”终于还是凉了,画面简直不可描述Nginx 为什么快到根本停不下来?嘿,你在看吗?
修改 Docker 镜像默认存储位置的方法相关推荐
- 修改docker的默认存储位置及镜像存储位置
2019独角兽企业重金招聘Python工程师标准>>> 方法一.软链接 默认情况下Docker的存放位置为:/var/lib/docker 可以通过下面命令查看具体位置: sudo ...
- win10修改docker镜像的存储位置
将win10更新至最新,目前最新版本是20H2,在安装docker desktop(基于wsl2)后,直接下载镜像默认是安装在C盘的,如果C盘空间不足,可按如下方式转移至其它盘 docker启动后会自 ...
- 修改docker镜像的存储地址的方法(--graph)
[root@w-2 ~]# systemctl stop docker [root@w-2 ~]# vim /etc/docker/daemon.json 增加:"graph":& ...
- 修改 Docker 的默认存储路径
修改 Docker 的默认存储路径 Docker 默认安装的情况下,会使用 /var/lib/docker/ 目录作为存储目录,用以存放拉取的镜像和创建的容器等.不过由于此目录一般都位于系统盘,遇到系 ...
- skydrive服务器位置,skydrive文件是什么 Win10系统修改skydrive文件默认储存位置路径方法...
skydrive文件是什么?Skydrive文件是什么?相信很多人都是比较陌生的.但是对于现在非常流行的云存储.云服务一类的技术应该就比较清楚了吧.Skydrive也如此,它便是一项关于云存储的服务, ...
- 修改Docker默认存储位置的方法
在日常使用中由于我们的根目录通常都比较小,如果想大量存储容器镜像的话很容易导致根目录写满 docker 默认的数据目录是/var/lib/docker 我们想要移动数据目录可以按照下面说明操作即可. ...
- 四个修改Docker默认存储位置的方法
参考:http://www.mamicode.com/info-detail-1917569.html 我使用方法二.修改镜像和容器的存放路径 指定镜像和容器存放路径的参数是--graph=/var/ ...
- 修改Outlook 2003邮件存储位置的方法
Outlook2003完善了Outlook Express 的一些功能,界面也有好的多,但是它的邮件默认是存在C盘上的,一旦重装系统将会全部丢失,对于那些经常需要收邮件的人来说是无法忍受的-- Out ...
- docker d盘_windows修改docker的默认存放位置
返回顶部的功能 div固定在页面位置不变 1.你在网上搜索的时候,可能会搜索到div固定在页面上,不随滚动条滚动而滚动是用CSS写的,写法是position:fixed;bottom:0; 但是这个在 ...
最新文章
- luogu 3806
- http://www.cnblogs.com/qtqq/p/5271164.html
- 服务器怎么查看数据库文件,怎么查看服务器上的数据库文件
- OMG,隔壁老王竟然是个GEEK !
- mysql 批量更新语句
- HAproxy + Keepalive实现LDAP代理服务
- redis技术分享ppt_精美PPT制作培训 | 技术二部内部分享
- git使用vimdiff模式比对代码
- et200sp系统服务器模块,西门子ET200
- 标准差 php,标准偏差怎么计算
- 两直线平行交叉相乘_向量平行公式和垂直公式
- 查找斐波纳契数列中第 N 个数
- 图片太大怎么压缩变小?压缩有技巧
- 苹果xsmax怎么开机_苹果xsmax触屏不灵敏,xsmax触屏失灵怎么回事
- JarvisOJ Basic部分题目wp
- vue cli可视化面板运行serve报错:Error: Package exports for ‘D:\*******(路径)\node_modules\colorette‘ do not defi
- 【论文】医疗大数据方面的资料
- linux 无线网卡
- idea全局替换yml 报错:you have entered malformed replacement
- GPU CUDA Python笔记