【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

在这里插入图片描述

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

目录
相关文章
|
1天前
|
消息中间件 Kafka 流计算
docker环境安装kafka/Flink/clickhouse镜像
通过上述步骤和示例,您可以系统地了解如何使用Docker Compose安装和配置Kafka、Flink和ClickHouse,并进行基本的验证操作。希望这些内容对您的学习和工作有所帮助。
41 28
|
14天前
|
Linux Docker 容器
安装docker-18.06报错Error: libseccomp conflicts with docker-18.06
通过这些步骤,您可以成功在CentOS上安装Docker 18.06,并解决libseccomp的冲突问题。这些方法确保系统兼容性,并保证Docker的正常运行。
52 27
|
14天前
|
网络协议 Linux 网络安全
docker centos镜像 npm安装包时报错“npm ERR! code ECONNRESET”
通过上述步骤,您可以有效解决在 Docker 中使用 CentOS 镜像安装 npm 包时遇到的 "npm ERR! code ECONNRESET" 错误。希望这些方法能帮助您顺利进行 npm 包的安装。
90 26
|
1月前
|
存储 Docker 容器
Docker-基础(数据卷、自定义镜像、Compose)
通过数据卷实现持久化存储,通过自定义镜像满足特定需求,通过Docker Compose方便地管理多容器应用
85 27
|
1月前
|
Ubuntu NoSQL Linux
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
158 6
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
|
1月前
|
存储 Docker 容器
Docker-基础(数据卷、自定义镜像、Compose)
通过数据卷实现持久化存储,通过自定义镜像满足特定需求,通过Docker Compose方便地管理多容器应用。掌握这些Docker基础概念和操作,可以显著提高开发和部署效率,确保应用程序的可移植性和可扩展性。
74 22
|
1月前
|
数据库 Docker 容器
docker容器为啥会开机自启动
通过配置适当的重启策略,Docker容器可以在主机系统重启后自动启动。这对于保持关键服务的高可用性和自动恢复能力非常有用。选择适合的重启策略(如 `always`或 `unless-stopped`),可以确保应用程序在各种情况下保持运行。理解并配置这些策略是确保Docker容器化应用可靠性的关键。
224 93
|
4天前
|
网络协议 API Docker
Docker+consul容器服务的更新与发现
通过本文的介绍,我们详细探讨了如何结合Docker和Consul来实现容器服务的更新与发现。通过Consul的服务注册和发现功能,可以高效地管理和监控容器化服务,确保系统的高可用性和可扩展性。希望本文能帮助您在实际项目中更好地应用Docker和Consul,提高系统的可靠性和管理效率。
37 23
|
4天前
|
Ubuntu API 网络虚拟化
ubuntu22 编译安装docker,和docker容器方式安装 deepseek
本脚本适用于Ubuntu 22.04,主要功能包括编译安装Docker和安装DeepSeek模型。首先通过Apt源配置安装Docker,确保网络稳定(建议使用VPN)。接着下载并配置Docker二进制文件,创建Docker用户组并设置守护进程。随后拉取Debian 12镜像,安装系统必备工具,配置Ollama模型管理器,并最终部署和运行DeepSeek模型,提供API接口进行交互测试。
91 15
|
2月前
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
299 78