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

ops/2024/9/24 0:41:31/

前言

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

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

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

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

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

dockerdaemonjson文件">四、编辑/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-服务">五、保存退出,然后重启 docker 服务

# reload配置文件
systemctl daemon-reload# 重启docker
systemctl restart docker

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

systemctl status dockerjournalctl -u docker.servicesudo journalctl -u docker --no-pager

docker存储路径是否配置成功">六、检查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

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

rm -rf /var/lib/docker/*

http://www.ppmy.cn/ops/111830.html

相关文章

js TypeError: Cannot read property ‘initialize’ of undefined

js TypeError: Cannot read property ‘initialize’ of undefined 在JavaScript开发旅程中,遇到TypeError: Cannot read property ‘initialize’ of undefined这样的错误提示,无疑是令人沮丧的。这个错误通常意味着你试图访问一个未定义对象的initiali…

Python 正则表达式详解:从基础匹配到高级应用

Python 正则表达式详解:从基础匹配到高级应用 文章目录 Python 正则表达式详解:从基础匹配到高级应用一 功能总览二 不用正则的判断三 使用正则判断1 验证用户邮箱2 正则返回匹配信息 四 多条件匹配五 按类型匹配六 匹配中文七 查找替换等功能八 在模式中…

研1日记13

正态分布: toTenor:转数字变为0-1 加载模型: model youmodel() model.load("路径") 测试单个样本:

介绍一些免费 的 html 5模版网站 和配色 网站

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、H5 网站介绍网站 二、配色网站个人推荐 前言 提示:以下是本篇文章正文内容,下面案例可供参考 一、H5 网站介绍 以下是一些提供免费…

《HTML 与 CSS—— 响应式设计》

一、引言 在当今数字化时代,人们使用各种不同的设备来访问网页,包括台式电脑、笔记本电脑、平板电脑和智能手机等。为了确保网页在不同设备上都能提供良好的用户体验,响应式设计变得至关重要。HTML 和 CSS 作为构建网页的基础技术&#xff0c…

C++战列舰小游戏Lv. 1.4版本(半成品)

相比较 1.2 ,增加了升级模块 C战列舰小游戏Lv. 1.2版本(半成品)-CSDN博客 相比较1.3,有了大规模完善和模块增加 C战列舰小游戏Lv. 1.3版本(半成品)-CSDN博客 这是一组初始数据: a[1].gas1000; a[1].attack0; a[1].att_10; a[1].att_20;…

CSS 布局技巧实现元素左右排列

开发中经常会遇到一个场景,使用 CSS 实现一个子元素靠右,其余子元素靠左。 这里总结一下常见的实现方式。 1. flex 布局 flexbox 是一种常用且灵活的布局方式,适合完成这种需求。将父容器设置为 display: flex,然后使用 margin…

Rust 所有权 借用与引用

文章目录 发现宝藏1. 所有权(Ownership)2. 引用(References)2.1 不可变引用2.2 可变引用2.3 引用的规则 3. 悬垂引用(Dangling References)4. 借用(Borrowing)结论 发现宝藏 前些天…