插件窝 干货文章 docker镜像怎么在数据盘

docker镜像怎么在数据盘

Docker 数据 bash sudo 969    来源:    2025-04-30

在数据盘存储Docker镜像的方法

方法一:修改Docker数据根目录

这是最推荐的方法,将Docker的整个数据目录(包括镜像、容器等)迁移到数据盘。

  1. 停止Docker服务:

    sudo systemctl stop docker
    
  2. 创建新的数据目录(假设数据盘挂载在/data):

    sudo mkdir -p /data/docker
    
  3. 编辑Docker配置文件:

    sudo vim /etc/docker/daemon.json
    

    添加以下内容:

    {
     "data-root": "/data/docker"
    }
    
  4. 复制现有数据(可选):

    sudo rsync -aP /var/lib/docker/ /data/docker/
    
  5. 启动Docker服务:

    sudo systemctl start docker
    

方法二:使用符号链接

如果不想修改Docker配置,可以使用符号链接:

  1. 停止Docker服务:

    sudo systemctl stop docker
    
  2. 移动现有数据:

    sudo mv /var/lib/docker /data/docker
    
  3. 创建符号链接:

    sudo ln -s /data/docker /var/lib/docker
    
  4. 启动Docker服务:

    sudo systemctl start docker
    

方法三:仅移动镜像存储

如果只想移动镜像存储而不移动其他Docker数据:

  1. 停止Docker服务:

    sudo systemctl stop docker
    
  2. 创建新的镜像存储目录:

    sudo mkdir -p /data/docker-images
    
  3. 编辑Docker配置文件:

    sudo vim /etc/docker/daemon.json
    

    添加以下内容:

    {
     "storage-driver": "overlay2",
     "storage-opts": [
       "overlay2.override_kernel_check=true",
       "overlay2.size=100G"
     ],
     "graph": "/data/docker-images"
    }
    
  4. 启动Docker服务:

    sudo systemctl start docker
    

验证配置

验证Docker是否使用了新的存储位置:

docker info | grep "Docker Root Dir"

应该显示你设置的新路径。

注意事项

  1. 确保数据盘有足够的空间
  2. 操作前备份重要数据
  3. 如果使用云服务器,注意数据盘的持久性(是否随实例释放)
  4. 对于生产环境,建议使用专门的存储解决方案如LVM、RAID等