因為當初 / (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