如何更改 Docker image 預設安裝資料夾
一開始規劃 ubuntu partition 的時候,/var
雖然有獨立成一個新的 partition,但因為有特別安排了一個 partition 專門給 MariaDB(MySQL)使用,所以 /var
也就沒有給的特別大。這一陣子開始使用 docker 作為開發環境,docker 的 image 預設是儲存於 /var/lib/docker
路徑下,會佔用 /var
很多空間,希望能將預設的路徑移到別的 partition。
在不同版本的 Linux 下設定方式會有些不同,在 Stackoverflow 有許多討論,另外在 Travis 這篇文章 中也有直接提供一個 shell script 可以修改 ubuntu 16.04 下的預設路徑。
在 Docker doc 中發現官方的設定,相對簡單,在自己嘗試後可以適用,分享我在 ubuntu 16.04 下的設定方式,設定後不用重新開機即可套用。
OS:Ubuntu 16.04.3 LTS (Xenial Xerus)
Docker Version:17.09.0-ce
Docker daemon 設定檔
Docker 官方建議的方式為在 daemon.json
檔案中設定 daemon flags,daemon.json
在 Linux 中預設位置在 /etc/docker/
。在 ubuntu 16.04 中預設這個檔案不存在,可以手動新增這個檔案。
$ sudo vim /etc/docker/daemon.json
在檔案中加上下面的內容,graph 為執行與存放的路徑位置:
{
"graph": "/mnt/docker-data",
"storage-driver": "overlay"
}
更新修改內容與重新啟動 Docker
更新套用修改內容:
$ sudo systemctl daemon-reload
重新啟動 Docker:
$ sudo systemctl restart docker
重新啟動後,在 graph 指定的資料夾下(/mnt/docker-data)就會出現相關的資料夾。
資料參考連結:
1.https://stackoverflow.com/questions/24309526/how-to-change-the-docker-image-installation-directory
2.https://sysinfo.io/ubuntu-16-04-move-docker-root/
3.https://docs.docker.com/engine/admin/systemd/#start-automatically-at-system-boot
留言