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