變更 Doceker image 儲存庫位置

因為當初 / (root) 硬碟空間切太小, 只留了 70G。後來在安裝 K8S 的時候,差一點不夠,後來發現 /home 目錄有 1xxG 就把 docker images 的位置從 /var/lib/docker 移到 /home/docker 內。

安裝 K8S 的時候大約會使用掉約 40G 的空間,全部都是 Docker 映像檔 (Images)。結果我在裝完之後 / (root) 剩下 2G,這表示我之後不能 docker pull 任何 images 下來。於是就找了一下變更 Docker Images 儲存庫的方法。

我的作業系統是 Debian 9,其他作業系統請找找相關設定位置

預設的路徑在 /var/lib/docker,如果你 /var 目錄有切出來並且給很大的空間,那沒問題。

停止 Docker

先停止 Docker:

# systemctl stop docker

建立新的目錄,並且把 /var/lib/docker 內所有東西移到新目錄內,過程中可能會出現一個 autofs 的錯誤,可以忽略

# mkdir -p /home/docker
# cd /var/lib/docker
# cp -r ./* /home/docke

修改 Docker 的設定

修改 Docker 的兩處設定,網路上其他文章都只修改某一邊,但我兩邊都修改了,第一個地方是 /etc/default/docker,要新增 –data-root (PATH):

# vi /etc/default/docker
DOCKER_OPTS="--selinux-enabled --insecure-registry 172.30.0.0/16 --data-root /home/docker"

第二個地方是修改  /etc/docker/daemon.json,也是增加 data-root,但是格式不太一樣:

{ "insecure-registries" : [ "172.30.0.0/16" ], "data-root": "/home/docker" }

重新啟動 docker

重新啟動 docker 後就可以了

# systemctl daemon-reload 
# systemctl restart docker

檢查一下,你會看到 workdir 變成新目錄。

# ps axu | grep docker



發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *