300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 修改 Docker 镜像默认存储位置的方法

修改 Docker 镜像默认存储位置的方法

时间:2021-05-01 02:44:21

相关推荐

修改 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 目录下面,可以通过下面命令查看具体位置。#默认存放位置$sudodockerinfo|grep"DockerRootDir"解决默认存储容量不足的情况,最直接且最有效的方法就是挂载新的分区到该目录。但是在原有系统空间不变的情况下,所以采用软链接的方式,修改镜像和容器的存放路径达到同样的目的。#停掉Docker服务$systemctlrestartdocker#停掉Docker服务$servicedockerstop然后移动整个 /var/lib/docker 目录到空间不较大的目的路径。这时候启动 Docker 时发现存储目录依旧是 /var/lib/docker 目录,但是实际上是存储在数据盘 /data/docker 上了。#移动原有的内容$mv/var/lib/docker/data/docker#进行链接$ln-sf/data/docker/var/lib/docker2. 指定容器启动参数在配置文件中指定容器启动的参数 --graph=/var/lib/docker 来指定镜像和容器存放路径。Docker 的配置文件可以设置大部分的后台进程参数,在各个操作系统中的存放位置不一致。在 Ubuntu 中的位置是 /etc/default/docker 文件,在 CentOS 中的位置是 /etc/sysconfig/docker 文件。搜索公众号后端架构师后台回复“架构整洁”,获取一份惊喜礼包。#CentOS6#因为Ubuntu默认开启了selinux机制OPTIONS=--graph="/data/docker"--selinux-enabled-Hfd://#CentOS7#修改docker.service文件,使用-g参数指定存储位置$vi/usr/lib/systemd/system/docker.serviceExecStart=/usr/bin/dockerd--graph/new-path/docker#Ubuntu#因为Ubuntu默认没开启selinux机制OPTIONS=--graph="/data/docker"-Hfd://重新启动之后,Docker 的路径就改成 /data/docker 了。#重新reload配置文件$sudosystemctldaemon-reload#重启docker服务$sudosystemctlrestartdocker.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 文件中的参数进行覆盖。#定义新的存储位置$sudovi/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配置文件$sudosystemctldaemon-reload#重启docker服务$sudosystemctlstartdocker参考文档/forangela/1949947PS:欢迎在留言区留下你的观点,一起讨论提高。如果今天的文章让你有新的启发,欢迎转发分享给更多人。版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并表示歉意。谢谢!欢迎加入后端架构师交流群,在后台回复“学习”即可。最近面试BAT,整理一份面试资料《Java面试BAT通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。在这里,我为大家准备了一份最新最全BAT等大厂Java面试经验总结。别找了,想获取史上最简单的Java大厂面试题学习资料扫下方二维码回复「面试」就好了猜你还想看阿里、腾讯、百度、华为、京东最新面试题汇集Token多平台身份认证架构设计思路成人版“抖音”终于还是凉了,画面简直不可描述Nginx 为什么快到根本停不下来?嘿,你在看吗?

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。