Container Volume Backup & Restore
在已運行且有綁定Volume的Container
打包其Volume的方式
但是過程我看到:
後來我想到我就乾脆直接tar實體目錄就好了
#直接tar實體volume掛載的目錄:
#先找到實體目錄:
sudo podman volume inspect {當初給的volume名稱,這邊是jenkins_home}
#直接sudo tar這個目錄起來,我選用tar.tgz的副檔名:
#壓縮:tar zcvf FileName.tar.tgz FileName:
tar zcvf {檔名}.tar.gz {上面那個Mountpoint} #解壓:tar zxvf FileName.tar.tgz -C {目錄位置}
最後應該跑了幾十分鐘有才完成
github上傳超過100M檔案解決辦法
所以下載git lfs
在download頁面看到:
下載下來放到機台上:
#用root安裝:
sudo rpm -iv git-lfs-3.2.0-1.x86_64.rpm
#上面安裝後還要透過以下指令綁定進帳號:
git lfs install#到前面失敗的git目錄重作.git
rm -rf .git#大檔的副檔名型態來打包,這邊的話目標檔案是_data.tar.gz所以是gz:
git init
git lfs track "*.gz"#此時會看到.gitattributes檔案:
ls -al#接著就是git本身,依序add:
git add .gitattributes _data.tar.gz
git commit -m "large file"
git branch -M main
git remote add origin https://github.com/JavaNoobPig/training.git
git push -u origin main
確認:
用image打包檔案:
Dockerfile:
要放入的檔案也放在同一個目錄下
#執行:
sudo podman build -t quay.io/{帳號}/training/my-image:v1 .
#後面就可以直接把這個image push:
sudo podman push {上面整個image:tag名稱} --remove-signatures
後面使用要取出就是
#取出檔案:
sudo podman pull {image:tag}
sudo podman image mount {image:tag}
這邊省去pull先在原機做實驗:
如上圖,就可以真的在本基實體目錄找到:
#從上面那個預設目錄把實際檔案拿出來到當下目錄:
cp -r {上面那一大串目錄} ~/#接著unmount:
sudo podman image unmount imageID