Ubuntu Docker更改默認鏡像和容器存儲位置


測試操作系統: Ubuntu server 20
docker版本:20.10.6

1, 為什么

注: 通常,當開始使用docker時,我們並不太關心Docker 用於存儲鏡像和容器的默認目錄。當使用Docker進行更多實驗時,Docker開始占用大量的空間時,你不得不按下緊急按鈕。所以現在是時候把故障排除放在如何改變docker的默認存儲位置了。

2. 怎么做

方法一:

前提需要了解:

  • Docker 當前使用的默認存位
  • Docker 當前使用的存儲驅動程序
  • 鏡像和容器要存放的新存儲空間

Docker 默認的位置在/var/lib/docker,當前所有的鏡像、容器都存儲在這兒。如果你有任何在運行的容器,停止這些容器,並確保沒有容器在運行,然后運行以下命令,確定當前Docker使用的存儲驅動

sudo docker info

在輸出的信息中,查找Storage Driver那行,並記下:

Storage Driver: overlay2

docker存儲根目錄:

Docker Root Dir: /var/lib/docker

關閉docker服務:

sudo systemctl stop docker.service

創建一個新的文件夾作為docker鏡像新的存儲位置,記下這個文件夾的路徑:

sudo mkdir -p /data/docker

編輯docker配置文件:

sudo vim /etc/systemd/system/multi-user.target.wants/docker.service
# 將ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock修改以下內容:
ExecStart=/usr/bin/dockerd --graph=/home/data/docker --storage-driver=overlay2

開啟docker來更新配置:

sudo systemctl daemon-reload
sudo systemctl start docker

方法二:

然后在將這個文件夾拷貝到新的地方(比如說更大的硬盤上,假設是/data分區,它掛載在一個單獨硬盤上):

sudo cp -r /var/lib/docker /data/docker

然后修改docker中默認鏡像和容器的保存位置,剛安裝docker后沒有該文件,需要新建。

sudo vim /etc/docker/daemon.json

將里面的data-root改為新的docker容器存儲位置,

“data-root”: “/data/docker”,

然后重啟docker服務,就可以更新docker默認的鏡像容器保存位置,特別注意,如果新的保存位置里拷貝了原來容器保存位置里的所有內容,那么鏡像數據等也就遷移過來了。

sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl status docker


免責聲明!

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



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