需求:
需要在一臺服務器上導入docker鏡像。服務器初始硬盤空間只有20G,但是導入的鏡像有十幾G,利用docker load命令導入這個鏡像的時候,會因爲20G空間不夠導致導入失敗。同時,公司運維有掛在一個100G的硬盤到/data目錄。這個時候,要解決的問題就是怎麼讓導入的鏡像是直接安裝到掛載的/data目錄,而不是要導入安裝到這個只有20G的服務器上。
一、docker鏡像及容器默認的安裝目錄
docker默認的安裝目錄在:/var/lib/docker
二、利用ln進行文件鏈接
我想達到的目的是讓鏡像不要導入到/var/lib/docker目錄下,因爲空間不夠會導致導入失敗,而是希望鏡像導入到掛載的/data目錄下,這裏可以利用ln命令:
1、如果已經安裝了docker,先卸載docker,刪除/var/lib/docker目錄,如果刪除失敗,則要先停止運行的容器,刪除容器,刪除鏡像
2、運行 ln -s /data/docker/ /var/lib/docker
3、再次下載docker及導入鏡像,運行容器,則相關文件會下載到/data目錄下了