docker容器鏡像等相關文件目錄遷移


遷移目的:

默認裝在系統盤的,一般雲服務器系統盤40G左右很容器就滿了,這個時候必須做遷移了

 

1、以阿里雲為例,先購買並掛載一個新的數據盤,參考之前的隨筆  https://www.cnblogs.com/cjh-notes/p/10828857.html

本次掛載目錄為 /data

 

再記錄一條清理鏡像的命令

# 以下命令清除無用的鏡像
docker image prune -a -f

# 容器因有回滾的需求,只做手動刪除!!tips:Rancher的升級會自動清理無用的容器

 

2、遷移

查看容器數據保存位置

docker info | grep "Docker Root Dir"



停止服務

service docker stop



創建新存放數據的目錄

mkdir -p /data/docker/



安裝rsync,rsync能保證遷移的完整性(特別是權限)

yum -y install rsync



遷移數據文件

rsync -avzr /var/lib/docker/ /data/docker



修改docker的配置文件重新指向新的數據存放地址,不同docker版本對配置項的支持也是不同的,我這里用的都是17.06.2-ce

vi /etc/docker/daemon.json

{
  "storage-driver": "overlay2",
  "storage-opts": [
    "overlay2.override_kernel_check=true"
  ],
  "data-root": "/data/docker"
}



重新啟動

service docker start


確認沒問題就把舊的目錄清理一下
rm -rf /var/lib/docker/
 

 

要是升級了docker版本導致容器起不來,如下圖這樣的錯誤

 

 執行以下命令(路徑替換成自己新配置的)

grep -rl 'docker-runc' /var/lib/docker/containers/ | xargs sed -i 's/docker-runc/runc/g'

重啟服務

service docker restart

 

 

 轉載請注明博客出處:http://www.cnblogs.com/cjh-notes/


免責聲明!

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



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