当前位置: 首页 > article >正文

修改docker的默认存储位置及镜像存储位置

前言

Docker 默认安装的情况下,会使用 /var/lib/docker/ 目录作为存储目录,用以存放拉取的镜像和创建的容器等。

不过由于此目录一般都位于系统盘,遇到系统盘比较小,而镜像和容器多了后就容易出问题,这里说明一下如何修改 Docker 的默认存储目录。

一、查看当前docker的默认存储目录

docker info

# docker 存储目录
Docker Root Dir: /var/lib/docker

二、停止docker服务

systemctl stop docker

三、目录迁移

创建新的 docker 目录,执行命令 df -h,找一个大的磁盘。

我在 /home 目录下面建了 /home/docker 目录,执行的命令是:

mkdir -p /home/docker

迁移 /var/lib/docker 目录下面的文件到 /home/docker

# 和cp类似,只不过是会自动过滤,目标目录有的文件不会重新拷贝
rsync -avz /var/lib/docker /home/docker

四、编辑/etc/docker/daemon.json文件

vim /etc/docker/daemon.json

默认情况下这个配置文件是没有的,可以新建一个,然后写入以下内容:

{
  "graph": "/home/docker"
}

取决于具体的 ubuntu 版本或者 kernel 版本决定要用 data-root 还是 graph

  • Docker 17.05 及以后的版本使用 "data-root"。
  • 旧版本可能使用 "graph",但建议升级到新版本。

在较新的 Docker 版本中,应该使用 "data-root" 配置项,而不是 "graph"。 "data-root或者graph": "/home/docker"

五、保存退出,然后重启 docker 服务

# reload配置文件
systemctl daemon-reload

# 重启docker
systemctl restart docker

如果 docker 启动失败,查看失败原因

systemctl status docker

journalctl -u docker.service

sudo journalctl -u docker --no-pager

六、检查docker存储路径是否配置成功

docker info | grep "Docker Root Dir"

Docker Root Dir: /home/docker

如果修改失败,可以检查 Docker 服务启动参数:

查看 Docker 服务的启动参数,确保没有在命令行中指定 data-root

可以查看 /lib/systemd/system/docker.service/etc/systemd/system/docker.service.d/ 下的文件,看看是否有相关配置:

vim /etc/systemd/system/docker.service.d/docker-options.conf

自己手动配置 data-root

然后重启 docker,查看是否成功。

七、启动成功后,再确认之前的镜像还在

docker ps -a
docker images

八、确定容器、镜像没问题后,删除/var/lib/docker/目录中的文件。

rm -rf /var/lib/docker/*

http://www.kler.cn/news/302625.html

相关文章:

  • 无人机低空安全管控系统技术详解
  • 2024年9月13日随笔
  • c++中extern “C“的作用及理解
  • 【FFMPEG】FFplay音视频同步分析(下)
  • 仕考网:2525年国考时间是什么时候?
  • Maven基本使用(下)
  • 无头服务(Headless Service)
  • 按图搜索的实时性:阿里巴巴拍立淘API返回值的快速响应
  • 学懂C++(五十六): 深入理解MFC框架、底层原理及消息映射机制
  • openstack之glance介绍
  • 智能体-AI-Agent-简介
  • MATLAB求解0-1线性规划问题的详细分析
  • k8s笔记——kubebuilder实战
  • 基于深度学习的线性预测:创新应用与挑战
  • 华纳云:修复WordPress内存耗尽错误的常用方法有哪些?
  • Linux操作系统入门(二)
  • Android 车联网——CarProperty使用实例(二十三)
  • 结构开发笔记(八):solidworks软件(七):装配图中让摄像头绕轴旋转起来
  • 学习react一,环境搭建,基础语法
  • STM32启用FPU浮点运算
  • TI DSP下载器XDS100 V2.0无法使用问题
  • GO学习笔记(4) strconv/time
  • LeetCode:2398. 预算内的最多机器人数目 双指针+单调队列,时间复杂度O(n)
  • 航空维修培训中的虚拟现实辅助工程技术应用
  • pdf在线免费转换成word,这些简单方法已为你罗列好
  • redis高级教程
  • 市政智慧公厕:城市管理的新革命
  • Spring Framework 学习总结博客
  • InternVL2-关于 `argparse` 是否会将连字符(-)视为下划线(_)的问题
  • 【阿一网络安全】如何让你的密码更安全?(三) - 散列函数