关于Docker默认存储位置及Docker系统默认池存储、卷存储限制空间修改

一、Docker默认存储位置

Docker默认存储位置在/var/lib/docker,通过命令 docker info | grep "Docker Root Dir"进行查看。有时候因为磁盘空间的问题,我们需要对其进行修改,下面有几种方法来解决docker默认存储位置的问题:

    1. 直接将数据盘挂载到/var/lib/docker目录上;
    2. 基于软连接的方式进行修改:数据盘挂载在/data目录下面,我们这样操作

      mv /var/lib/docker /data/dockerln && ln -s /data/dockerln /var/lib/docker

    3. 修改镜像和容器的存放路径:
      1. 指定镜像和容器存放路径的参数是--graph=/var/lib/docker,我们只需要修改配置文件指定启动参数即可。
        Docker 的配置文件可以设置大部分的后台进程参数,在各个操作系统中的存放位置不一致,在 Ubuntu 中的位置是:/etc/default/docker,在 CentOS 中的位置是:/etc/sysconfig/docker。
        如果是 CentOS6 则添加下面这行:
        OPTIONS=--graph="/root/data/docker" --selinux-enabled -H fd://
        如果是 Ubuntu 则添加下面这行(因为 Ubuntu 默认没开启 selinux):
        OPTIONS=--graph="/root/data/docker" -H fd://# 或者DOCKER_OPTS="-g /root/data/docker"
        最后重新启动,Docker 的路径就改成 /root/data/docker 了。
        centos7下,也可以
        修改docker.service文件,使用-g参数指定存储位置
        vi /usr/lib/systemd/system/docker.service  
        ExecStart=/usr/bin/dockerd --graph /new-path/docker 
         // reload配置文件 
        systemctl daemon-reload 
         // 重启docker 
        
        systemctl restart docker.service
        如果docker是1.12或以上的版本,可以修改(或新建)daemon.json文件。修改后会立即生效,不需重启docker服务。
        vim /etc/docker/daemon.json 
        {"registry-mirrors": ["http://7e61f7f9.m.daocloud.io"],"graph": "/new-path/docker"
    4. system下创建配置文件:
      1. 在/etc/systemd/system/docker.service.d 目录下创建一个Drop-In文件“docker.conf”,默认 docker.service.d 文件夹不存在。所以你必须先创建它。
        创建Drop-In 文件的原因,是我们希望Docker 服务,使用docker.conf文件中提到的特定参数,将默认服务所使用的位于/lib/systemd/system/docker.service文件中的参数进行覆盖。如果你想深入了解Drop-In,请阅读system.unit文档
        定义新的存储位置现在打开docker.conf增加如下内容:
        # sudo vi /etc/systemd/system/docker.service.d/docker.conf 
        [Service] 
        ExecStart= 
        ExecStart=/usr/bin/dockerd --graph="/mnt/new_volume" --storage-driver=devicemapper
        保存并退出VI编辑器,/mnt/new_volume 是新的存储位置,而devicemapper是当前docker所使用的存储驱动。如果你的存储驱动有所不同,请输入之前第一步查看并记下的值。Docker官方文档中提供了更多有关各种存储驱动器的信息。现在,你可以重新加载服务守护程序,并启动Docker服务了。这将改变新的镜像和容器的存储位置。
        # sudo systemctl daemon-reload 
        # sudo systemctl start docker
        为了确认一切顺利,运行 #docker info | grep "Docker Root Dir"命令检查Docker 的根目录.它将被更改为/mnt/new_volume
    5. 使用docker-storage-set(docker1.12)命令进行配置:
      1. 配置文件位置:/usr/lib/docker-storage-setup/docker-storage-setup或者/etc/sysconfig/docker-storage-setup、/etc/sysconfig/docker-storage
        vim /etc/sysconfig/docker-storage
        # This file may be automatically generated by an installation program.
        # Please DO NOT edit this file directly. Instead edit
        # /etc/sysconfig/docker-storage-setup and/or refer to
        # "man docker-storage-setup".
        # By default, Docker uses a loopback-mounted sparse file in
        # /var/lib/docker.  The loopback makes it slower, and there are some
        # restrictive defaults, such as 100GB max storage.
        DOCKER_STORAGE_OPTIONS=--graph="要保存的路径"
        或者
        DEVS=/dev/vdb
        DATA_SIZE=800GB(更改docker默认存储大小)

        参考:http://www.mamicode.com/info-detail-1917569.html http://forangela.blog.51cto.com/9680035/1949947

以上操作可能需要在重启docker守护进程的情况下进行。

二、Docker系统默认池存储、卷存储限制空间

参考:https://blog.csdn.net/chengxuyuanyonghu/article/details/76560166

Docker默认空间大小分为两个,一个是池空间大小,另一个是容器空间大小。

池空间大小默认为:100G

容器空间大小默认为是:10G

所以修改空间大小也分为两个:

这里使用centos下的yum进行安装的Docker。

首先,修改空间大小,必需使Docker运行在daemon环境下,即先停止正在运行的docker服务:

service docker stop

然后使用命令使用daemon环境下运行docker:

docker -d

1、修改池空间大小方法:

dd if=/dev/zero of=/var/lib/docker/devicemapper/devicemapper/data bs=1G count=0 seek=1000
dd if=/dev/zero of=/var/lib/docker/devicemapper/devicemapper/metadata bs=1G count=0 seek=10

上面的1000为1TB大小,即为数据池空间大小为1TB,而10则为Metadata的空间大小,10GB
        从运行完后,使用命令查看docker池空间大小:

docker info

可以看到池空间已经被设置为data=1TB和metadata=10GB

2.

原文地址:http://blog.51cto.com/nanfeibobo/2091960

时间: 2024-10-13 23:24:55

关于Docker默认存储位置及Docker系统默认池存储、卷存储限制空间修改的相关文章

四个修改Docker默认存储位置的方法

方法一.软链接 默认情况下Docker的存放位置为:/var/lib/docker 可以通过下面命令查看具体位置: sudo docker info | grep "Docker Root Dir" 解决这个问题,最直接的方法当然是挂载分区到这个目录,但是我的数据盘还有其他东西,这肯定不好管理,所以采用修改镜像和容器的存放路径的方式达到目的. 这个方法里将通过软连接来实现. 首先停掉Docker服务: systemctl restart docker或者service docker s

Docker 修改默认存储位置

首先使用 docker info 查看 docker 的基本信息 sudo docker info Containers: 0 Images: 5 Storage Driver: devicemapper Pool Name: docker-253:0-679369-pool Pool Blocksize: 65.54 kB Backing Filesystem: extfs Data file: Metadata file: Data Space Used: 533.9 MB Data Spa

Docker】如何修改Docker的默认镜像存储位置

江湖有多大,坑就有多多……我使用的服务器, 系统盘根目录只有20G, 默认Docker 的镜像文件是安装在/var/lib/docker 目录下的, 这样的话我根本装不了太多的镜像,之前遇到一种情况就是docker服务对磁盘的读写操作太大,而且是软连接方式,导致服务器的磁盘不可用,当然测试环境用的是虚拟服务器. 所以这个中情况需要调整一下. 服务器环境:centos7,docker1.12.6 方案1:使用软链接方式(不建议,可以了解一下)默认情况下Docker的存放位置为:/var/lib/d

Linux下正确修改Docker镜像和容器的默认存储位置,亲测有效

原文:Linux下正确修改Docker镜像和容器的默认存储位置,亲测有效 我们通过 yum 的方式安装完Docker环境后,它默认的存储位置是 /var/lib/docker,默认的 pid 存放位置是 /var/run/docker.pid. 如果仅仅是做测试,我们可能没有必要修改,但是当大量使用docker镜像的时候,我们可能就要默认存储的位置了. 具体操作方法如下: 1.停止docker: service docker stop 2.修改docker服务的service文件: vim /u

如何更改Docker默认的images存储位置

Docker的镜像以及一些数据都是在/var/lib/docker目录下,它占用的是Linux的系统分区,也就是下面的/dev/vda1,当有多个镜像时,/dev/vda1的空间可能不足,我们可以把docker的数据挂载到数据盘,例如:/dev/vdb目录下.[[email protected] docker]# df -lhTFilesystem Type Size Used Avail Use% Mounted on/dev/vda1 xfs 20G 3.8G 16G 20% /devtmp

更改Docker默认的images存储位置

Docker的镜像以及一些数据都是在/var/lib/docker目录下,它占用的是Linux的系统分区,也就是下面的/dev/vda1,当有多个镜像时,/dev/vda1的空间可能不足,我们可以把docker的数据挂载到数据盘,例如:/dev/vdb目录下. [[email protected] docker]# df -lhTFilesystem Type Size Used Avail Use% Mounted on/dev/vda1 xfs 20G 3.8G 16G 20% /devtm

Centos7修改Docker默认存储位置

一.前言 Centos7安装docker之后,默认的镜像及容器存储路径为/var/lib/docker,可以使用命令docker info查看. 但是该路径默认使用的是系统盘的存储,如果挂载了数据盘,需要把docker的默认存储路径修改至数据盘的挂载目录,则需要修改docker的相关配置. 二.步骤 修改配置 将--graph /data/docker添加在docker.service文件中的ExecStart字段后面,其中/data/docker为你需要修改的存储目录 mkdir -p /da

修改docker的默认存储位置

service docker stop mv /var/lib/docker /mnt/docker ln -s /mnt/docker /var/lib/docker ls /var/lib/docker service docker start

docker的存储位置修改

yum安装的docker的数据目录默认在 /var/lib/docker 随着容器的安装和镜像的下载跟下的空间很快就不够用了.这里介绍几种修改这个存储位置的方法: 注意:无论那种那种方法都有风险,请大家认真评估. 1.创建软连接: 将docker停掉 /etc/init.d/docker stop 在一个其他盘(空间较大)创建docker目录,将/var/lib/docker剪切到docker下 mv /var/lib/docker/* /data/docker/ 创建软连接 ln -s /da