docker pull報錯failed to register layer: Error processing tar file(exit status 1): open permission denied


近來在一個雲主機上操作docker pull,報錯如下:

failed to register layer: Error processing tar file(exit status 1): open /etc/init.d/hwclock.sh: permission denied

或者:

failed to register layer: Error processing tar file(exit status 1): open /etc/init.d/.legacy-bootordering: permission denied

當前用戶就是root,怎么會沒有權限呢?

查看服務器版本:

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

而我所嘗試的操作:

rm -rf /var/lib/docker/network/files/* && service docker restart  #【無效】
reboot # 【無效】
sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config && reboot #【無效,且selinux本身就關了】
docker system prune -a #【無效,且這命令慎用】

折騰了好久都不知道為何,外網上也搜不到相應的問題,有的是說被殺毒軟件給占用了文件,但我這雲主機上沒有殺軟。

最后嘗試yum update更新,看到一條報錯

cp: cannot create regular file '/etc/grub.d/00_tuned': Permission denied

這個我就犯迷糊了,怎么連這里的文件都沒權限,我進入其目錄,發現可以cp,可以mv,但是不能刪除、不能覆蓋。用lsattr命令也沒查看到什么。

而在我reboot后,再連接進去的前一段時間,我可以刪除文件,而稍等一會就不可以刪除文件了。

這種感覺,就是背后有進程在限制我的權限。然后想起這個雲主機是騰訊雲,首先就鎖定了該服務器上安裝的雲鎖。

 

暫時的解決方法如下:

(別怪我狠心刪除雲鎖,誰讓特么的連docker pull都限制)

cp /etc/rc.local{,.bak}
echo '#!/bin/bash' >/etc/rc.local
rm -rf /usr/local/qcloud
rm -rf /usr/local/yunsuo_agent
chattr +i /usr/local/qcloud
chattr +i /usr/local/yunsuo_agent

把上述命令保存到一個sh文件,並chmod +x,然后reboot后迅速連接進去執行該文件即可。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM