遷移目的:
默認裝在系統盤的,一般雲服務器系統盤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/