修改Docker預設儲存位置
阿新 • • 發佈:2021-06-21
Docker 預設的位置在/var/lib/docker,當前所有的映象、容器都儲存在這兒。如果你有任何在執行的容器,停止這些容器,並確保沒有容器在執行,然後執行以下命令,確定當前Docker使用的儲存驅動。(你會在後面的文章中找出為什麼要記錄它)
# docker info
在輸出的資訊中,查詢Storage Driver那行,並記下它。在我的主機上是devicemapper。下一步是停止Docker 服務
# sudo systemctl stop docker
建立一個Drop-In 檔案
下一步是在/etc/systemd/system/docker.service.d 目錄下建立一個Drop-In檔案“docker.conf”,預設 docker.service.d 資料夾不存在。所以你必須先建立它。
# sudo mkdir /etc/systemd/system/docker.service.d
# sudo touch /etc/systemd/system/docker.service.d/docker.conf
建立Drop-In 檔案的原因,是我們希望Docker 服務,使用docker.conf檔案中提到的特定引數,將預設服務所使用的位於/lib/systemd/system/docker.service檔案中的引數進行覆蓋。如果你想深入瞭解Drop-In,請閱讀system.unit文件
定義新的儲存位置
現在開啟docker.conf增加如下內容:
# sudo vi /etc/systemd/system/docker.service.d/docker.conf [Service] ExecStart= ExecStart=/usr/bin/dockerd --graph="/mnt/new_volume" --storage-driver=devicemapper
儲存並退出VI編輯器,/mnt/new_volume 是新的儲存位置,而devicemapper是當前docker所使用的儲存驅動。如果你的儲存驅動有所不同,請輸入之前第一步檢視並記下的值。Docker官方文件中提供了更多有關各種儲存驅動器的資訊。現在,你可以重新載入服務守護程式,並啟動Docker服務了。這將改變新的映象和容器的儲存位置。
# sudo systemctl daemon-reload
# sudo systemctl start docker
為了確認一切順利,執行
# docker info
檢查Docker 的根目錄.它將被更改為/mnt/new_volume