docker - 修改鏡像/容器文件或者 "Docker root dir" 的在宿主機上的存儲位置


 

背景

之前在使用docker的時候,由於啟動container的時候用的是默認的mount(路徑為 /var/lib/docker),這個目錄對應的硬盤空間有限,只有200G左右。現在隨着程序運行,有大量的數據生成。硬盤空間就悲劇了。。。。

 

現在的想法是,宿主機上還有一塊大硬盤空間,需要docker把數據放到大硬盤上。

 

解決方案

方法一 修改 docker daemon 的啟動參數 -g, --graph=""

Path to use as the root of the Docker runtime. Default is /var/lib/docker.

docker -d --graph=/opt/docker

 注: 這種方式只會臨時修改,如果重啟 docker daemon,就又會回到默認值。。。

 

我們可以通過修改 docker daemon的配置文件的方式來保存我們修改,方法如下:

默認情況下,docker daemon 會有一個默認的configuration 文件,此外,我們可以新建一個名為“daemon.json”文件的文件,我們在這個文件中的定義,會覆蓋默認配置文件的內容文件。

#cd etc/docker
#vim daemon.json

在這個文件里面加入我們的內容,即修改docker daemon 的 Rootpath

{
    "graph": "/data/docker"
}

重新 load 配置

# systemctl daemon-reload

重新啟動 docker daemon

# systemctl restart docker.service

 

此時,我們再來看 docker 的信息,docker root dir 已經更改:

# docker info

 

 

 
 

方法二 掛載新目錄到docker根目錄

mount -o bind /var/lib/docker /opt/docker 

 

永久修改在需要在 /etc/fatab 添加:

/opt/docker /var/lib/docker none bind 0 0

 

 

參考:

https://www.lsproc.com/post/docker-faq/#toc_1

https://stackoverflow.com/questions/43649560/how-to-change-docker-daemon-root-directory-in-centos7


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM