Docker存储驱动由overlay更改为overlay2-创新互联
系统信息
# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
# uname -r
3.10.0-514.26.2.el7.x86_64
如果需要升级系统内核版本,详见Centos系统内核升级的方法。
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:国际域名空间、虚拟空间、营销软件、网站建设、金凤网站维护、网站推广。如果升级到CentOS7版本,主要步骤:
(1)导入elrepo的key
# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
(2)To install ELRepo for RHEL-7, SL-7 or CentOS-7
# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
(3)在yum的elrepo源中有ml和lt两种内核,其中ml(mainline)为最新版本的内核,lt为长期支持的内核:
# yum --enablerepo=elrepo-kernel -y install kernel-lt
(4)修改grub.conf文件vim /etc/grub.conf:
default=0
(5)修改完了就重启系统让其生效:
# reboot
查看docker版本等信息
# docker info
Server Version: 18.09.0 //或是17.09.0-ce版本
Storage Driver: overlay
....
为什么使用overlay2
关于 overlay 与 overlay2 有什么差别,网上资源非常多,这里不作为重点介绍。
之所以升级到 overlay2 ,是因为我们在工作中经常会遇到这样的问题:
Step 1 : FROM million12/nginx-php:latest
---> 09c053597dda
Step 2 : COPY etc/docker-jenkins/default.conf /etc/nginx/hosts.d/default.conf
---> Using cache
---> 26a29dd01af3
Step 3 : COPY app /data/www/app
INFO[0012] link /var/lib/docker/overlay/99380f87e1572466529c4f668b5e79fe711496e9
85d313cc0d2f45bfdbdb3969/root/var/lib/yum/yumdb/p/939d2078d64d51ff7ad16150745e94
a26085bc93-php70-php-opcache-7.0.11-1.el7.remi-x86_64/checksum_type /var/lib/doc
ker/overlay/9ac18f869f20ba8ba29d2a16f00f2ce6ff1c6d0d1a40192a0efb8933c8ad1c45/tmp
root958106287/var/lib/yum/yumdb/p/939d2078d64d51ff7ad16150745e94a26085bc93-php70
-php-opcache-7.0.11-1.el7.remi-x86_64/checksum_type: too many links
使用 overlay2 可以很好解决这一 “too many links” 问题~~
解决上面出现的“too many links” 问题,可以采用下面两种方法:
(1)临时方法:定时删除没用的镜像和已经退出的容器,使用docker system prune
。
(2)永久方法:将存储驱动由 overlay 升级到 overlay2。
将Docker存储驱动由 overlay 更改为 overlay2
操作之前要注意⚠️:之前 docker images 会丢失,之前运行的 docker 容器服务会丢失(docker ps),进行下面步骤之前请做好数据的备份!!!
具体操作步骤如下:
(1)关闭运行的docker服务
# systemctl stop docker
(2)添加 daemon.json 文件
# echo "
{
"storage-driver": "overlay2",
"storage-opts": [ "overlay2.override_kernel_check=true" ],
"registry-mirrors": ["https://xxx.mirror.aliyuncs.com"],
"live-restore" : false
}
" >> /etc/docker/daemon.json
(3)启动docker服务
# systemctl start docker
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章标题:Docker存储驱动由overlay更改为overlay2-创新互联
转载来于:http://scyanting.com/article/csspdc.html