修改dcoker镜像和容器存储的位置
修改dcoker镜像和容器存储的位置
在阿里云上使用 docker 非常方便,但是使用久了镜像、容器越来越多,越来越大,小的可怜的系统盘吃不消了,就会遇到一个问题,如何修改docker的镜像容器的存储空间的修改,这里网上查了一些资料,做了一些总结(这里强调一下,做这样的操作,老镜像做迁移,有概率出现失败的可能性,[捂脸]我就失败了):
在修改存储位置之前,首先需要知道一下几点
- Docker 使用的默认存储位置
- Docker 当前使用的存储驱动程序
- 存储容器和图像的新存储空间
第一个方式
docker info
记录下来,docker 默认存储位置 和 存储驱动程序
Storage Driver: overlay 。。。。 Docker Root Dir: /var/lib/docker
存储驱动可以参考http://blog.csdn.net/styshoo/article/details/62206762
第一步,将docker停止
systemctl stop docker
第二步,创建Drop-In文件
创建一个"docker.conf",路径是/etc/systemd/system/docker.service.d
创建文件夹:
mkdir /etc/systemd/system/docker.service.d
创建文件:
touch /etc/systemd/system/docker.service.d/docker.conf
创建Drop-In文件的原因是我们希望Docker服务覆盖docker.conf文件中提到的特定参数,并使用位于/lib/systemd/system/docker.service
的默认服务文件的参数。如果您想深入了解Drop-In,请阅读system.unit
文档
第三步打开 docker.conf
并添加一下内容
[Service] ExecStart= ExecStart=/usr/bin/dockerd --graph="/data/docker/new_volume" --storage-driver=overlay
新的环境 执行
systemctl daemon-reload systemctl start docker
再运行 docker info
命令检查是否修改成功
如果有已经存在的镜像和容器,该怎么办呢?
执需要做老的镜像、容器迁移。
cp -i -rp /var/lib/docker /data/docker/new_volume
做软链接之前,做一下备份
mv /var/lib/docker /var/lib/docker-backup-2017-1213 ln -s /data/docker/new_volume/docker /var/lib/docker
简单解释:
1、软链接就是:“ln –s 源文件 目标文件”,只会在选定的位置上生成一个文件的镜像,不会占用磁盘空间,类似与windows的快捷方式。
2、硬链接ln源文件目标文件,没有参数-s, 会在选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。
systemctl daemon-reload systemctl start docker
第二种方式:
修改 docker daemon 的启动参数 -g, --graph=""
Path to use as the root of the Docker runtime. Default is /var/lib/docker.
如 docker -d --graph=/opt/docker
注: 这种方式只会临时修改,如果重启 docker daemon,就又会回到默认值。。。
我们可以通过修改 docker daemon的配置文件的方式来保存我们修改,方法如下:
默认情况下,docker daemon 会有一个默认的configuration 文件,此外,我们可以新建一个名为“daemon.json”文件的文件,我们在这个文件中的定义,会覆盖默认配置文件的内容文件。
cd etc/docker vim daemon.json
在这个文件里面加入我们的内容,即修改docker daemon 的 Rootpath
{ "graph": "/data/docker" }
重新 load 配置
systemctl daemon-reload
重新启动 docker daemon
systemctl restart docker.service
此时,我们再来看 docker 的信息,docker root dir 已经更改:
docker info
参考资料
Change default image and Container location in Docker [CentOS 7]
https://sanenthusiast.com/change-default-image-container-location-docker/#more-636(原文地址)
https://www.cnblogs.com/atuotuo/p/7217331.html
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
docker 安装
docker 安装 CentOS 要求:CentOS 系统的内核版本高于 3.10安装: yum -y install docker Ubuntu 下载安装: wget -qO- https://get.docker.com/ | sh windows win7、8 win7、win8 等需要利用 docker toolbox 来安装,国内可以使用阿里云的镜像来下载,下载地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/ win10 www.docker.com 官网下载,注意要开启 Hyper-V ,不然无法安装 mac https://download.docker.com/mac/stable/Docker.dmg https://download.docker.com/mac/edge/Docker.dmg 安装完成后验证: 启动docker service docker start 测试 docker info
- 下一篇
docker 加速器
docker 加速器 <font color="red">首先 1、他是永久免费的。 2、版本支持 linux \ windows \ macOS</font> 一、为什么要用加速器呢? 使用 Docker 的时候,需要经常从官方获取镜像,但是由于显而易见的网络原因,拉取镜像的过程非常耗时,严重影响使用 Docker 的体验。因此 DaoCloud 推出了加速器工具解决这个难题,通过智能路由和缓存机制,极大提升了国内网络访问 Docker Hub 的速度,目前已经拥有了广泛的用户群体,并得到了 Docker 官方的大力推荐。如果您是在国内的网络环境使用 Docker,那么 Docker 加速器一定能帮助到您。 二、Docker 加速器对 Docker 的版本有要求吗? 需要 Docker 1.8 或更高版本才能使用,如果您没有安装 Docker 或者版本较旧,请安装或升级。 三、如何获得加速器? 这里使用的 DaoCloud 提供的加速器https://www.daocloud.io/mirror#accelerator-doc 四、linux 直接输入: cu...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS关闭SELinux安全模块
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境