Docker更改默認存儲路徑


在linux下通常docker都是默認安裝的,且默認的鏡像,容器存儲路徑都位於/var/lib/docker中,可以通過docker info命令來查看,如下:

$ docker info
Containers: 12
Images: 41
Storage Driver: aufs
 Root Dir: /var/lib/docker/
 Backing Filesystem: extfs
 Dirs: 66
 Dirperm1 Supported: false
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.13.0-32-generic
Operating System: Ubuntu 14.04.1 LTS
CPUs: 1
Total Memory: 1.954 GiB
Name: iZ23mtq8bs1Z
ID: M5N4:K6WN:PUNC:73ZN:AONJ:AUHL:KSYH:2JPI:CH3K:O4MK:6OCX:5OYW

有時 / 根目錄不是很大,就容易造成存儲不夠,像我的機器 / 根目錄30G,就不夠用了,而/home當時就給分配了500G,接受教訓,如果是自己用而且都是默認安裝 / 根目錄一定要分配的大一點,/home可以不用這么大。

解決docker容器存放目錄磁盤空間滿了問題

前言

docker所在服務器,運行了一段時間后,發現服務器磁盤目錄快不夠用了。通過 du -h --max-depth=1 / 逐級目錄排查,發現/var/lib/docker目錄文件過大。通過以下方法,解決該問題。

轉移數據修改docker默認存儲位置

有多種方式修改docker默認存儲位置。
最好是在docker安裝完后,第一時間修改docker默認存儲位置為其他大目錄或者磁盤中。規避遷移數據過程中造成的風險。

1.停止docker服務

systemctl stop docker

2.創建新的docker目錄,執行命令df -h,找一個大的磁盤
   我在 /home目錄下面建了/home/docker/lib目錄

mkdir -p /home/docker/lib

3.遷移/var/lib/docker目錄下面的文件到/home/docker/lib
   遷移后的完成docker路徑:/home/docker/lib/docker

rsync -avz /var/lib/docker/ /home/docker/lib/
4.配置 /etc/systemd/system/docker.service.d/devicemapper.conf
   查看/etc/systemd/system/docker.service.d目錄及devicemapper.conf是否存在。如果不存在,就新建
mkdir -p /etc/systemd/system/docker.service.d/
vi /etc/systemd/system/docker.service.d/devicemapper.conf

5. devicemapper.conf添加如下內容:

[Service]
ExecStart=
ExecStart=/usr/bin/dockerd  --graph=/home/docker/lib/docker

6.重啟docker

systemctl daemon-reload
systemctl restart docker
systemctl enable docker

7.確認Docker Root Dir修改是否已經生效

[root@iZbp1jcwx7sfb1yrnvpg84Z docker]# docker info
...
Docker Root Dir: /home/docker/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
...

8.啟動成功后,再確認之前的鏡像是否還在

[root@iZbp1jcwx7sfb1yrnvpg84Z docker]# docker images
REPOSITORY                          TAG                 IMAGE ID            CREATED             SIZE
10.80.177.233/policy                2.1.2               64ac4e178cd2        2 hours ago         818 MB
10.80.177.233/crm                   2.1.3               d7636fbb7a29        2 hours ago         762 MB

9.確定容器沒問題后刪除/var/lib/docker/目錄中的文件

 


免責聲明!

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



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