当前位置: 首页 > news >正文

CentOS7修改Docker默认存储路径

  当你使用Docker时,Docker的默认配置是将镜像、容器和卷存储在系统/var/lib/docker/目录下,如果docker镜像安装的太多会导致磁盘不够,你可以尝试以下方法来释放空间:

  • 清理无用的镜像和容器:使用docker命令删除不再使用的镜像和容器。可以使用docker image prune和docker container prune命令来清理。
  • 清理Docker日志:Docker日志文件可能会占用大量的磁盘空间。你可以使用docker system prune --all --volumes命令来清理日志文件。
  • 移动Docker数据目录:你可以将Docker的数据目录移动到有更多空间的磁盘上。首先停止Docker服务,然后将/var/lib/docker目录移动到新的位置,并创建一个符号链接指向新的目录。最后重新启动Docker服务。
  • 大文件清理:如果上述方法仍然无法释放足够的空间,你可以使用工具如find命令来查找和删除占用大量空间的文件。

  下面是使用移动Docker数据目录的方式来释放磁盘空间:

一、查看docker当前安装信息
docker infoClient:Version:    24.0.7Context:    defaultDebug Mode: falsePlugins:buildx: Docker Buildx (Docker Inc.)Version:  v0.14.1Path:     /usr/libexec/docker/cli-plugins/docker-buildxcompose: Docker Compose (Docker Inc.)Version:  v2.27.1Path:     /usr/libexec/docker/cli-plugins/docker-composeServer:Containers: 15Running: 15Paused: 0Stopped: 0Images: 12Server Version: 24.0.7Storage Driver: overlay2Backing Filesystem: xfsSupports d_type: trueUsing metacopy: falseNative Overlay Diff: trueuserxattr: falseLogging Driver: json-fileCgroup Driver: cgroupfsCgroup Version: 1Plugins:Volume: localNetwork: bridge host ipvlan macvlan null overlayLog: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslogSwarm: inactiveRuntimes: io.containerd.runc.v2 runcDefault Runtime: runcInit Binary: docker-initcontainerd version: 091922f03c2762540fd057fba91260237ff86acbrunc version: v1.1.9-0-gccaecfcinit version: de40ad0Security Options:seccompProfile: builtinKernel Version: 3.10.0-1160.71.1.el7.x86_64Operating System: CentOS Linux 7 (Core)OSType: linuxArchitecture: x86_64CPUs: 8Total Memory: 15.49GiBName: localhost.localdomainID: e8baaad4-fba7-4219-ae05-ff9b078d23e0Docker Root Dir: /wwwroot/dockerDebug Mode: falseExperimental: falseInsecure Registries:127.0.0.0/8Live Restore Enabled: falseProduct License: Community EngineWARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled

默认是:Docker Root Dir: /wwwroot/docker

二、修改docker默认存储目录
   1. Docker常见的配置文件有:
  • daemon.json:Docker 守护进程的配置文件,用于配置 Docker 守护进程的各种参数,如镜像仓库地址、网络配置等。
  • certs:存放 SSL/TLS 证书和密钥文件的目录,用于配置安全加密通信。
  • networks:存放网络配置文件的目录,用于配置 Docker 网络。
  • volumes:存放数据卷相关配置文件的目录,用于配置容器间数据共享和持久化。
   2. Docker常见的配置文件路径:
  • 在Linux上,Docker配置文件通常位于/etc/docker/目录下。其中,/etc/docker/daemon.json文件包含了Docker守护进程的配置选项。
  • 在Windows上,Docker配置文件通常位于C:\ProgramData\docker\config\目录下。其中,C:\ProgramData\docker\config\daemon.json文件包含了Docker守护进程的配置选项。
  • 在Mac上,Docker配置文件通常位于/usr/local/etc/docker/目录下。其中,/usr/local/etc/docker/daemon.json文件包含了Docker守护进程的配置选项。
   3. 在Linux系统修改Docker配置文件的步骤:
  • 新建配置文件目录,默认是没有这个目录
mkdir /etc/docker
  • daemon.json是Docker 守护进程的配置文件,用于配置 Docker 守护进程的各种参数,如镜像仓库地址、网络配置等。新建daemon.json
vi /etc/docker/daemon.json
  • 添加如下内容,当然路径是需要选择磁盘空间充足的路径,这里需要根据具体情况选择
{"data-root": "/home/docker"
}
三、加载配置并重启docker
systemctl daemon-reload
systemctl restart docker
  • 查看配置
docker infoClient:Version:    24.0.7Context:    defaultDebug Mode: falsePlugins:buildx: Docker Buildx (Docker Inc.)Version:  v0.14.1Path:     /usr/libexec/docker/cli-plugins/docker-buildxcompose: Docker Compose (Docker Inc.)Version:  v2.27.1Path:     /usr/libexec/docker/cli-plugins/docker-composeServer:Containers: 15Running: 15Paused: 0Stopped: 0Images: 12Server Version: 24.0.7Storage Driver: overlay2Backing Filesystem: xfsSupports d_type: trueUsing metacopy: falseNative Overlay Diff: trueuserxattr: falseLogging Driver: json-fileCgroup Driver: cgroupfsCgroup Version: 1Plugins:Volume: localNetwork: bridge host ipvlan macvlan null overlayLog: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslogSwarm: inactiveRuntimes: io.containerd.runc.v2 runcDefault Runtime: runcInit Binary: docker-initcontainerd version: 091922f03c2762540fd057fba91260237ff86acbrunc version: v1.1.9-0-gccaecfcinit version: de40ad0Security Options:seccompProfile: builtinKernel Version: 3.10.0-1160.71.1.el7.x86_64Operating System: CentOS Linux 7 (Core)OSType: linuxArchitecture: x86_64CPUs: 8Total Memory: 15.49GiBName: localhost.localdomainID: e8baaad4-fba7-4219-ae05-ff9b078d23e0Docker Root Dir: /home/dockerDebug Mode: falseExperimental: falseInsecure Registries:127.0.0.0/8Live Restore Enabled: falseProduct License: Community EngineWARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled

路径已经显示为:Docker Root Dir: /home/docker

四、复制docker文件到新的挂载目录
# 迁移文件
cp -arp /var/lib/docker/* /home/docker
#重启docker
systemctl restart docker
#查看是否重启
docker ps

  磁盘空间释放完毕,在软件安装时,尽量不要安装在默认磁盘空间,一般情况下,默认安装磁盘空间为系统安装目录,占用太多会导致系统运行异常,抛出磁盘不足的错误。
  Docker镜像通常会占用较大的存储空间,这是因为Docker镜像是一个完整的文件系统,包含了操作系统、应用程序和其依赖的所有文件,所以设置Docker的默认安装路径是十分必要的。

http://www.lryc.cn/news/517443.html

相关文章:

  • OpenCV相机标定与3D重建(46)将三维空间中的点投影到二维图像平面上函数projectPoints()的使用
  • 基于Elasticsearch8的向量检索实现相似图形搜索
  • springboot+vue使用easyExcel实现导出功能
  • ffmpeg-avio实战:打开本地文件或者网络直播流dome
  • css预处理器sass
  • VulnHub-Acid(1/100)
  • MATLAB语言的正则表达式
  • 通过 route 或 ip route 管理Linux主机路由
  • MYSQL--------SQL 注入简介MySQL SQL Mode 简介
  • 第6章——HTTP首部
  • 多行输入模式(dquote> 提示符)double quote(双引号)
  • 【什么是MVCC?】
  • HarmonyOS开发:粒子动画应用实战
  • 数据库课设——网上花店销售管理系统(上)
  • 用于AI的 数据存储其获取介绍
  • flutter 专题二十四 Flutter性能优化在携程酒店的实践
  • L28.【LeetCode笔记】移动零(三种解法)
  • jenkins入门10--自动化构建
  • el-table拖拽表格
  • 如何轻松反转C# List<T>中的元素顺序
  • Transformer中Self-Attention以及Multi-Head Attention模块详解(附pytorch实现)
  • 在Nvidia Jetson ADX Orin中使用TensorRT-LLM运行llama3-8b
  • 六十一:HTTP/2的问题及HTTP/3的意义
  • IOS开发如何从入门进阶到高级
  • 非一般的小数:小数的概念新解、小数分类、浮点数的存储
  • 关于游戏销量的思考
  • JuiceFS 详解:一款为云原生设计的高性能分布式文件系统
  • 百度Android面试题及参考答案 (下)
  • RK3588+FPGA全国产异步LED显示屏控制卡/屏幕拼接解决方案
  • Elasticsearch:Query rules 疑难解答