Docker扩容操作(docker总是空间不足)

Docker扩容操作(docker总是空间不足)

1、df二连,一共也就70g,总是占满93%以上。所以需要移动到其他目录上

查看docker镜像和容器存储目录的空间大小

复制代码
du -sh /var/lib/docker/

2、停止docker服务

复制代码
systemctl stop docker

3、首先创建目录并迁移

复制代码
# 首先创建目录
mkdir -p /home/docker_home

4、复制

复制代码
sudo cp -ar /var/lib/docker /home/docker_home/

-a archive

-v verbose view

-z 压缩

-r 递归

5、重新修改映射路径

复制代码
vim  /etc/docker/daemon.json

增加下面的

复制代码
"data-root": "/home/docker_home/docker"

我的示例:

复制代码
{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://dockerhub.icu"
  ],
  "data-root": "/home/docker_home/docker"
}

df -Th

6、重新启动docker

复制代码
systemctl daemon-reload && systemctl restart docker

7、查看是否正常绑定目录

复制代码
docker info
docker ps

这个是解释

tip:

如果您想在之前的命令中添加 --progress 选项以显示 rsync 操作的进度,您可以这样修改命令:

bash 复制代码
( cd /var/lib/docker && find . -type f -print0 | xargs -0 -P4 -I{} rsync -avz --inplace --progress {} /home/docker/lib/; )

这里的 --progress 选项会使得 rsync 在复制文件时显示每个文件的传输进度。这对于大型文件或大量文件的复制操作特别有用,因为它提供了一个直观的反馈,让用户知道复制操作的进度。

完整的命令解释如下:

  • cd /var/lib/docker:切换到 Docker 的数据目录。
  • find . -type f -print0:查找当前目录及子目录下的所有文件,并以 \0 作为分隔符输出,这样处理文件名时可以正确处理包含空格和特殊字符的文件名。
  • |:管道符,将前一个命令的输出作为后一个命令的输入。
  • xargs -0 -P4 -I{}xargs 命令读取来自 find 的输入,并为每个文件执行后面的 rsync 命令。-0 表示输入项是以 \0 分隔的,-P4 表示并行执行,使用4个进程,-I{} 定义了一个替换字符串 {},它在每个 rsync 命令中被替换为当前处理的文件名。
  • rsync -avz --inplace --progress {} /home/docker/lib/:对于 xargs 传递过来的每个文件名 {}rsync 命令将该文件从 /var/lib/docker 复制到 /home/docker/lib/,同时保留文件属性、显示详细输出、在传输过程中压缩数据,并直接在目标位置更新文件。--progress 选项显示每个文件的传输进度。

请注意,rsync--progress 选项可能会稍微降低复制速度,因为它需要额外的时间来计算和显示进度信息。但是,对于大型文件或长时间运行的复制任务,这个选项提供的进度反馈是非常有用的。

参考:

https://blog.csdn.net/qq_41973632/article/details/142464963

相关推荐
William.csj28 分钟前
服务器——“查询不到显卡驱动,且输入nvidia-smi报错”的解决办法
运维·服务器
LgZhu(Yanker)29 分钟前
27、企业维修保养(M&R)全流程管理:从预防性维护到智能运维的进阶之路
大数据·运维·人工智能·erp·设备·维修·保养
sheji10534 分钟前
docker启动出现Error response from daemon: Container的问题【已解决】
运维·docker·容器
Sally璐璐3 小时前
LVS-DR模式高性能负载均衡实战
运维
路由侠内网穿透3 小时前
本地部署 SQLite 数据库管理工具 SQLite Browser ( Web ) 并实现外部访问
运维·服务器·开发语言·前端·数据库·sqlite
CodeHackerBhx4 小时前
Jenkins
java·运维·jenkins
小白不想白a4 小时前
【docker】namespace 命名空间
运维·docker·容器
忘忧人生4 小时前
docker 容器常用命令
java·docker·容器
小z博客4 小时前
使用Docker轻松部署Zurl搭建自己的短链接服务
运维·docker·容器
橘颂TA4 小时前
【Linux】特效爆满的Vim的配置方法 and make/Makefile原理
linux·运维·服务器·vim