溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Docker存儲(chǔ)驅(qū)動(dòng)由overlay更改為overlay2

發(fā)布時(shí)間:2020-07-03 12:17:22 來(lái)源:網(wǎng)絡(luò) 閱讀:3988 作者:品鑒初心 欄目:云計(jì)算

系統(tǒng)信息

# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)

# uname -r
3.10.0-514.26.2.el7.x86_64

如果需要升級(jí)系統(tǒng)內(nèi)核版本,詳見(jiàn)Centos系統(tǒng)內(nèi)核升級(jí)的方法。

如果升級(jí)到CentOS7版本,主要步驟:

(1)導(dǎo)入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兩種內(nèi)核,其中ml(mainline)為最新版本的內(nèi)核,lt為長(zhǎng)期支持的內(nèi)核:

#  yum --enablerepo=elrepo-kernel -y install kernel-lt

(4)修改grub.conf文件vim /etc/grub.conf:

default=0

(5)修改完了就重啟系統(tǒng)讓其生效:

# reboot

查看docker版本等信息

# docker info
 Server Version: 18.09.0  //或是17.09.0-ce版本
 Storage Driver: overlay
 ....

為什么使用overlay2

關(guān)于 overlay 與 overlay2 有什么差別,網(wǎng)上資源非常多,這里不作為重點(diǎn)介紹。

之所以升級(jí)到 overlay2 ,是因?yàn)槲覀冊(cè)诠ぷ髦薪?jīng)常會(huì)遇到這樣的問(wèn)題:

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” 問(wèn)題~~

解決上面出現(xiàn)的“too many links” 問(wèn)題,可以采用下面兩種方法:

(1)臨時(shí)方法:定時(shí)刪除沒(méi)用的鏡像和已經(jīng)退出的容器,使用docker system prune。
(2)永久方法:將存儲(chǔ)驅(qū)動(dòng)由 overlay 升級(jí)到 overlay2。

將Docker存儲(chǔ)驅(qū)動(dòng)由 overlay 更改為 overlay2

操作之前要注意??:之前 docker images 會(huì)丟失,之前運(yùn)行的 docker 容器服務(wù)會(huì)丟失(docker ps),進(jìn)行下面步驟之前請(qǐng)做好數(shù)據(jù)的備份?。?!

具體操作步驟如下:

(1)關(guān)閉運(yùn)行的docker服務(wù)

# 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)啟動(dòng)docker服務(wù)

# systemctl start docker
向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI