DockerLession04 将docker的image转移到数据盘

写在前面

今天心血来潮, 想看看 docker 网站上面排行靠前的镜像都是干嘛用的, 就下载了一堆镜像, 结果把磁盘”/“路径塞满了….

排查了一下, 原来 Docker 将 images 和其他所有文件都放在了 /var/lib/docker 路径下

将 docker 的 image 转移到数据盘

  1. 首先备份 fstab

    sudo cp /etc/fstab /etc/fstab.$(date +%Y-%m-%d)
  2. 然后停止 docker, 用 rsync 同步/var/lib/docker 到新位置, 比如 /data/docker

    sudo service docker stop
    sudo systemctl stop docker
    
    sudo mkdir /data/docker
    sudo rsync -aXS /var/lib/docker/.  /data/docker/
    
    sudo rm -rf mv /var/lib/docker /var/lib/docker_old
    sudo mkdir /var/lib/docker
  3. 修改 fstab

    sudo vim /etc/fstab

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

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

类似这样:

<file system>   <mount point>   <type>  <options>  <dump>  <pass>
/dev/xvdb1      /data            ext4   bind        0       0
/data/docker    /var/lib/docker  none   bind        0       0
  1. 重新挂载

    sudo mount -a

检查一下

sudo df /var/lib/docker/

如果成功会是如下输出

Filesystem     1K-blocks   Used Available Use% Mounted on
/data/docker    20510332 591672  18853752   4% /var/lib/docker
  1. 重新启动 Docker 服务

    systemctl restart docker
Donate - Support to make this site better.
捐助 - 支持我让我做得更好.