1. 程式人生 > 其它 >修改Docker預設儲存位置

修改Docker預設儲存位置

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