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/目录中的文件

 

posted @ 2020-03-27 16:10  AnswerThe  阅读(2992)  评论(1编辑  收藏  举报