docker所在文件系统空间不足进行迁移

2019年8月2日22:11:22
评论
244
摘要

docker所在的文件系统空间不足,迁移docker的存储目录到另外较大的磁盘中。

更多分类文章:

Python | Linux | 大数据 | 数据库 | Git | Nodejs | Golang | 电脑技巧 | 计算机技术

 

docker所在的文件系统空间不足

查看docker目录:docker info | grep -i "docker root dir"

df -h 发现空间已满,需要迁移docker。

docker迁移

docker所有自身的东西都会存在这些文件夹下面包括镜像文件和容器,所以会占用越来越多的磁盘空间。如果docker所在的磁盘空间比较小,磁盘空间被占满没有空间的时候,显然会导致docker容器运行失败,此时必然要迁移docker的存储目录到一个更大的磁盘下面。

1.查看磁盘占用情况:df -h

2.查看docker自身的内存占用:docker system df

3.docker system prune命令可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)。

4.docker system prune -a命令清理得更加彻底,可以将没有容器使用Docker镜像都删掉。注意,这两个命令会把你暂时关闭的容器,以及暂时没有用到的Docker镜像都删掉了…所以使用之前一定要想清楚.。我没用过,因为会清理 没有开启的 Docker 镜像。

迁移/var/lib/docker目录。

1.停止docker服务

2.创建新的docker目录,执行命令df -h,找一个大的磁盘。 我在 /home目录下面建了 /home/docker/lib目录,执行的命令是:

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

(rsync是linux文件夹同步的命令,参数要加一个-r,因为文件夹要递归copy,如果在同一台服务器上面,直接cp也是可以的)

4.配置 /etc/systemd/system/docker.service.d/devicemapper.conf。查看 devicemapper.conf 是否存在。如果不存在,就新建。

5.然后在 devicemapper.conf 写入:(同步的时候把父文件夹一并同步过来,实际上的目录应在 /home/docker/lib/docker )

6.重新加载 docker

7.为了确认一切顺利,运行

命令检查Docker 的根目录.它将被更改为 /home/docker/lib/docker

8.启动成功后,再确认之前的镜像还在:

9.确定容器没问题后删除/var/lib/docker/目录中的文件。

 


原文链接:docker所在文件系统空间不足进行迁移

Linux最后更新:2020-11-6
  • 本文由 发表于 2019年8月2日22:11:22
  • 转载请注明:https://www.wanghaoyi.com/linux-docker-no-space.html
golang创建web监听在tcp6而非tcp4的解决 Golang

golang创建web监听在tcp6而非tcp4的解决

在用golang建立web时,不管是用原生库还是使用gin框架,发现服务器起来后最终都会监听到tcp6。查stackoverflow得知,如果想要默认监听tcp4/tcp6需要修改下源码。 修改$GO...
BCOS链docker化部署 BCOS

BCOS链docker化部署

使用脚本一键部署 安装依赖openssl依赖 yum install -y openssl openssl-devel 创建目录下载脚本 mkdir -p fisco && cd fi...
Docker容器初学笔记整理 Golang

Docker容器初学笔记整理

“Docker是一个开源的应用容器引擎”,这个概念解释说了等于没说。其实就是个虚拟机,如果我们用过类似VMware这样的虚拟机软件就知道了,在windows上可以跑Linux、mac,反过来也可以。但...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: