【docker】导入镜像报错磁盘空间不足的解决方法 && 【docker】修改默认的存储路径

简介: 安装docker时,默认的安装位置是/var/lib/docker。可以用docker info 查看 镜像存放的目录

@[toc]

前言

安装docker时,默认的安装位置是/var/lib/docker。
可以用docker info 查看 镜像存放的目录

问题

docker load -i nginx.tar

#报错
no space left device

报错是因为该目录没有磁盘空间

解决方法

先看看哪块有空间

df -Th

可以看出根目录下是有空间的。

第一种,docker没有任何服务存在

这种就很好解决;
1、配置 /usr/lib/systemd/system/docker.service

vim /usr/lib/systemd/system/docker.service

找到ExecStart这行,将原来的注释掉,更改成如下的形式

[Service]
ExecStart=/usr/bin/dockerd  --graph=/data/docker

2、保存退出,重启docker

systemctl daemon-reload
systemctl restart docker
systemctl enable docker

docker load -i nginx.tar
#就不会报错了

第二种,docker里还有服务和数据存在

1、停止docker服务

systemctl stop docker.service

2、在挂载的磁盘目录下创建存放镜像目录

mkdir -p /data/docker

3、迁移镜像文件

mv /var/lib/docker /data/docker

4、配置 /usr/lib/systemd/system/docker.service

vim /usr/lib/systemd/system/docker.service

找到ExecStart这行,将原来的注释掉,更改成如下的形式

[Service]
ExecStart=/usr/bin/dockerd  --graph=/data/docker

5、保存退出,重启docker

systemctl daemon-reload
systemctl restart docker
systemctl enable docker

6、启动成功后,再确认之前的镜像和容器是否还在

docker images

docker ps -a

注意

由于更换了docker 目录,以前下载的镜像需要转移到新目录下,建议直接删除原来的镜像,重新下载。所以这个建议在刚开始下载docker的时候就进行修改,避免后续的问题

docker修改默认的存储路径

yum安装的docker修改默认的存储路径

有两处地方可以修改,第一个/usr/lib/systemd/system/docker.service,第二个/etc/docker/daemon.json

第一种方法:修改/usr/lib/systemd/system/docker.service

vim /usr/lib/systemd/system/docker.service

#找到ExecStart,可以在合适的位置添加--graph=要放的路径

在这里插入图片描述

修改完成之后重新加载docker,并重启docker

systemctl daemon-reload
systemctl restart docker

然后docker info查看路径;

docker info

#找Docker Root Dir

在这里插入图片描述

看到修改到了自己想修改的目录,则修改成功;

第二种方法:修改/etc/docker/daemon.json

#进入/etc/docker/daemon.json
vim /etc/docker/daemon.json

#可以看到里面是空的,我们自己来添加就好了,graph后面是你的路径

{
“graph”: “/newpath/docker”
}

在这里插入图片描述

修改完成之后重新加载docker,并重启docker

systemctl daemon-reload
systemctl restart docker

然后docker info查看路径;

docker info

#找Docker Root Dir

在这里插入图片描述

看到修改到了自己想修改的目录,则修改成功;

目录
相关文章
|
12天前
|
缓存 Linux 网络安全
docker的镜像无法下载如何解决?
【10月更文挑战第31天】docker的镜像无法下载如何解决?
381 28
|
8天前
|
存储 关系型数据库 Linux
【赵渝强老师】什么是Docker的镜像
Docker镜像是一个只读模板,包含应用程序及其运行所需的依赖环境。镜像采用分层文件系统,每次修改都会以读写层形式添加到原只读模板上。内核bootfs用于加载Linux内核,根镜像相当于操作系统,上方为应用层。镜像在物理存储上是一系列文件的集合,默认存储路径为“/var/lib/docker”。
|
14天前
|
存储 监控 Linux
docker构建镜像详解!!!
本文回顾了Docker的基本命令和管理技巧,包括容器和镜像的增删改查操作,容器的生命周期管理,以及如何通过端口映射和数据卷实现容器与宿主机之间的网络通信和数据持久化。文章还详细介绍了如何使用Docker部署一个简单的Web应用,并通过数据卷映射实现配置文件和日志的管理。最后,文章总结了如何制作自定义镜像,包括Nginx、Python3和CentOS镜像,以及如何制作私有云盘镜像。
84 2
|
8天前
|
缓存 JavaScript 安全
深入理解Docker镜像构建过程
深入理解Docker镜像构建过程
25 0
|
Docker 容器
docker overlay2占用大量磁盘空间处理方法
docker overlay2占用大量磁盘空间处理方法
1957 0
|
6天前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker和Kubernetes入门
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术成为企业提升敏捷性和效率的关键。本篇文章将引导读者了解如何利用Docker进行容器化打包及部署,以及Kubernetes集群管理的基础操作,帮助初学者快速入门云原生的世界。通过实际案例分析,我们将深入探讨这些技术在现代IT架构中的应用与影响。
28 2
|
4天前
|
运维 Cloud Native 虚拟化
一文吃透云原生 Docker 容器,建议收藏!
本文深入解析云原生Docker容器技术,涵盖容器与Docker的概念、优势、架构设计及应用场景等,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
一文吃透云原生 Docker 容器,建议收藏!
|
12天前
|
关系型数据库 MySQL API
|
8天前
|
运维 持续交付 Docker
深入理解Docker容器化技术
深入理解Docker容器化技术
|
5天前
|
缓存 监控 开发者
掌握Docker容器化技术:提升开发效率的利器
在现代软件开发中,Docker容器化技术成为提升开发效率和应用部署灵活性的重要工具。本文介绍Docker的基本概念,并分享Dockerfile最佳实践、容器网络配置、环境变量和秘密管理、容器监控与日志管理、Docker Compose以及CI/CD集成等技巧,帮助开发者更高效地利用Docker。