Java小强个人技术博客站点    手机版
当前位置: 首页 >> 服务器 >> Docker 磁盘不足 镜像搬家

Docker 磁盘不足 镜像搬家

240 服务器 | 2026-1-6

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。


Docker默认安装的镜像,和镜像里面的所有操作,都是基于根目录“/”的,这样很容易造成磁盘爆满。

如果安装时提示:

ERROR: Could not install packages due to an OSError: [Errno 28] No space left on device

那说明,Docker安装时,已经磁盘不足



我们可以修改Docker默认的安装路径,类似Win10上指定一些软件的数据目录,所以我们要迁移Docker的默认磁盘路径


为什么要迁移?

磁盘空间不足:默认路径位于根分区,根分区通常空间较小。

性能优化:可以迁移至 SSD 或 RAID 盘上,提升容器 I/O 性能。

安全管理:将 Docker 数据与系统文件隔离,便于备份与恢复。


核心原理

Docker 在启动时会读取配置文件 /etc/docker/daemon.json

我们只需修改其中的 "data-root" 参数,指向新目录即可。


停止 Docker 服务

必须先停止服务,防止数据写入导致迁移失败。


在 /home 下创建一个新目录用于存放 Docker 数据

# 创建目录,确保有足够的权限

mkdir -p /home/docker

# 设置目录权限(根据需要选择)

chmod 711 /home/docker


编辑 daemon.json 文件,指定新的数据根目录。

# 打开配置文件(如果不存在则创建)

vim /etc/docker/daemon.json

配置参考

{
  "registry-mirrors": [
    "https://docker.1ms.run"
  ],
  "log-opts": {
    "max-file": "100",
    "max-size": "50m"
  },
  "data-root": "/home/docker"
}

JSON 文件必须严格符合语法(双引号、逗号位置)。如果文件中已有其他配置,请在最后一个键值对后添加 , 再加入 "data-root"


启动 Docker,检查是否生效


推荐您阅读更多有关于“ 镜像 磁盘 Docker 搬家 Nospace 数据目录 ”的文章

下一篇:Win11右键如何改为Win11样式

猜你喜欢

发表评论: