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

相关推荐
爱宇阳3 分钟前
使用 Docker Compose 从零部署 TeamCity + PostgreSQL(详细新手教程)
docker·postgresql·容器
whp4048 分钟前
windows server2019 不成功的部署docker经历
运维·docker·容器
IT界小黑的对象1 小时前
virtualBox部署ubuntu22.04虚拟机 NAT+host only 宿主机ping不通虚拟机
linux·运维·服务器
weixin_527550401 小时前
Linux 环境下高效视频切帧的实用指南
linux·运维·音视频
keson要进步1 小时前
CICD实战(一) -----Jenkins的下载与安装
运维·ci/cd·centos·自动化·jenkins
keson要进步1 小时前
CICD实战(二)-----gitlab的安装与配置
linux·运维·gitlab
藥瓿亭2 小时前
K8S认证|CKS题库+答案| 4. RBAC - RoleBinding
linux·运维·服务器·云原生·容器·kubernetes·cks
得呢2 小时前
K8s基础一
云原生·容器·kubernetes
Chanfi2 小时前
kubeadm安装k8s
云原生·容器·kubernetes
发非人非2 小时前
Shell编程核心符号与格式化操作详解
运维