更改Docker默认的images存储位置

Docker的镜像以及一些数据都是在/var/lib/docker目录下,它占用的是Linux的系统分区,也就是下面的/dev/vda1,当有多个镜像时,/dev/vda1的空间可能不足,我们可以把docker的数据挂载到数据盘,例如:/dev/vdb目录下。

[[email protected] docker]# df -lhT
Filesystem Type Size Used Avail Use% Mounted on
/dev/vda1 xfs 20G 3.8G 16G 20% /
devtmpfs devtmpfs 916M 0 916M 0% /dev
tmpfs tmpfs 921M 0 921M 0% /dev/shm
tmpfs tmpfs 921M 43M 878M 5% /run
tmpfs tmpfs 921M 0 921M 0% /sys/fs/cgroup
/dev/vdb xfs 100G 11G 90G 11% /data

其中主要的步骤如下:
(1) 首先,备份fstab文件
sudo cp /etc/fstab /etc/fstab.$(date +%Y-%m-%d)

(2) 停止docker, 用rsync同步/var/lib/docker到新位置.

如果rsync没有安装,则使用yum -y intall rsync 进行安装,停止docker ,service docker stop,在数据分区中建立要挂载的目录,mkdir /data/docker 使用rsync工具同步

rsync -aXS /var/lib/docker/. /data/docker/,这可能需要花费的较长的时间,取决于/var/lib/docker的大小,

(3) 修改fstab

在该文件中把下面一行添加到fstab里,将新位置挂载到 /var/lib/docker

/data/docker /var/lib/docker none bind 0 0

文件的内如如下:

[[email protected] docker]# cat /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Thu Jul 31 07:50:13 2014
#
# Accessible filesystems, by reference, are maintained under ‘/dev/disk‘
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/vda1 / xfs errors=remount-ro 0 1
/swapfile none swap defaults 0 0
/dev/vdb /data xfs defaults,noatime 0 0
/data/docker /var/lib/docker none bind 0 0

(4) 重新挂载

mount –a

(5) 使用下面的命令检查一下

df /var/lib/docker/
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vdb 104806400 47204 104759196 1% /var/lib/docker

(6)进入Container查看我们的空间

bash-4.1# df -lhT
Filesystem Type Size Used Avail Use% Mounted on
rootfs rootfs 9.8G 1.4G 7.9G 15% /
tmpfs tmpfs 921M 0 921M 0% /dev
shm tmpfs 64M 0 64M 0% /dev/shm
/dev/vdb xfs 100G 2.1G 98G 3% /etc/resolv.conf
/dev/vdb xfs 100G 2.1G 98G 3% /etc/hostname
/dev/vdb xfs 100G 2.1G 98G 3% /etc/hosts
tmpfs tmpfs 921M 0 921M 0% /run/secrets
tmpfs tmpfs 921M 0 921M 0% /proc/kcore

没有更改/var/lib/docker路径之前的情况:

bash-4.1# df -lhT

Filesystem Type Size Used Avail Use% Mounted on

rootfs rootfs 9.8G 1.4G 7.9G 15% /

tmpfs tmpfs 921M 0 921M 0% /dev

shm tmpfs 64M 0 64M 0% /dev/shm

/dev/vda1 xfs 20G 13G 6.9G 66% /etc/resolv.conf

/dev/vda1 xfs 20G 13G 6.9G 66% /etc/hostname

/dev/vda1 xfs 20G 13G 6.9G 66% /etc/hosts

tmpfs tmpfs 921M 0 921M 0% /run/secrets

tmpfs tmpfs 921M 0 921M 0% /proc/kcore

宿主机中的分区大小信息:

[[email protected] ~]# df -lhT
Filesystem Type Size Used Avail Use% Mounted on

/dev/vda1 xfs 20G 13G 6.9G 65% /

devtmpfs devtmpfs 916M 0 916M 0% /dev

tmpfs tmpfs 921M 0 921M 0% /dev/shm

tmpfs tmpfs 921M 89M 832M 10% /run

tmpfs tmpfs 921M 0 921M 0% /sys/fs/cgroup

/dev/vdb xfs 100G 33M 100G 1% /data

时间: 2024-10-14 14:09:30

更改Docker默认的images存储位置的相关文章

如何更改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默认网段

#本文档旨在说明创建docker时注意的事项:我们在局域网中使用Docker,最常遇到的一个困惑,就是有时候跨网段结果出现网络不通.原因是因为Docker默认生成的网关和我们的局域网网段有时候是冲突的,比如在172.16网段的机器上部署Docker,结果生成的docker0网桥是172.17网段,那么就和真实环境中使用该网段的机器冲突了(即ping不通172.17网段的机器).为了避免冲突,首先想到的是改网关,默认172.17 网段. 1.前提是已经安装了docker环境可以用编辑/etc/do

Mysql数据库文件迁移并修改默认数据文件存储位置

环境: 1.两台Win10电脑 2.MySql5.6 过程: 1.原电脑停止MySql服务 2.复制C:\ProgramData\MySQL\MySQL Server 5.6\data文件夹到目标电脑的D:\MysqlData 3.目标电脑停上MySql服务 4.修改目标电脑C:\Program Files (x86)\MySQL\MySQL Server 5.6\my.ini文件: datadir改为: datadir="D:/MySqlData/data/" 5.目标电脑D:/My

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

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

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

一.Docker默认存储位置 Docker默认存储位置在/var/lib/docker,通过命令 docker info | grep "Docker Root Dir"进行查看.有时候因为磁盘空间的问题,我们需要对其进行修改,下面有几种方法来解决docker默认存储位置的问题: 直接将数据盘挂载到/var/lib/docker目录上: 基于软连接的方式进行修改:数据盘挂载在/data目录下面,我们这样操作 mv /var/lib/docker /data/dockerln &

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的存储位置修改

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