修改Docker默认存储路径的步骤详解

 更新时间:2024年09月20日 10:46:12   作者:汀、人工智能  
随着Docker技术的广泛应用,它极大地简化了复杂项目的部署与维护流程,仅凭单一镜像即可轻松运行,然而,随着数据量不断增长,Docker的默认数据存储方式可能逐渐成为挑战,本文给大家介绍了如何修改Docker默认存储路径,解决系统盘占用90%+问题,需要的朋友可以参考下

引言

随着Docker技术的广泛应用,它极大地简化了复杂项目的部署与维护流程,仅凭单一镜像即可轻松运行。然而,随着数据量不断增长,Docker的默认数据存储方式可能逐渐成为挑战,尤其是当默认安装于根目录(“/”)时,可能迅速消耗宝贵的系统空间。面对根目录空间不足的困境,尤其是在加载大型镜像时,调整Docker的Root Dir至专用的挂载数据目录显得尤为关键。

为有效应对此问题,将Docker的数据存储迁移至专门配置的存储位置,不仅可以释放根目录的紧张空间,还能优化数据管理和扩展性。通过灵活配置Docker的存储路径,用户可以确保即使在处理大型镜像或数据集时,系统也能保持高效与稳定。

一、 查看默认目录(查看存储路径是否在系统盘)

docker info

一般默认目录都是:

Docker Root Dir: /var/lib/docker

二、 修改默认目录

1. 确保停止 docker 服务

systemctl stop docker.service

有的人可能会遇到以下错误:

Warning: Stopping docker.service, but it can still be activated by:
docker.socket

那就先执行 
 
systemctl stop docker.socket
 
再执行
 
systemctl stop docker.service

2.创建一个新的目录,用于存储 Docker 数据。

例如,将数据存储在 /www/docker/:
mkdir -p /www/docker/

3.复制 Docker 数据目录

将当前 /var/lib/docker 目录下的所有数据复制到新目录,使用 rsync 替代 cp 解决断点续传问题:

rsync -avz /var/lib/docker/* /home/docker/

4. 修改 / etc/docker/daemon.json 文件,添加更换目录地址

默认情况下,Docker 使用 /etc/docker/daemon.json 配置文件,如果没有此文件则需要手动创建

touch /etc/docker/daemon.json
vim /etc/docker/daemon.json
新增以下信息:
{
"data-root": "/www/docker"
}

“/www/docker” 即为我的目标地址

保存并关闭文件

5. 启动 docker服务

systemctl start docker

or

根据刚才的关闭操作,依次启动 socket 和 serice

systemctl start docker.socket
systemctl start docker.service

6. 验证

再次查看 Docker Root Dir 的值

docker info
df -h
docker ps
//或者直接验证一下服务是否可用

查看 Docker Root Dir 是否修改为指定目录

再删除原目录

cd /var/lib
rm -rf docker

注意:

  • 在执行这些步骤之前,请确保你已备份所有重要的 Docker 数据,以防意外丢失。
  • 在移动数据和更改配置后,务必进行测试以确保一切正常运行。

到此这篇关于修改Docker默认存储路径的步骤详解的文章就介绍到这了,更多相关修改Docker路径内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • docker安装,yum安装失败解决方案,阿里云镜像安装过程

    docker安装,yum安装失败解决方案,阿里云镜像安装过程

    在配置Yum源遇到问题时,尝试使用阿里云镜像可以有效解决,本文详细介绍了如何配置阿里云源及安装Docker的步骤,首先,若Yum源配置出错,建议更换为阿里云镜像;其次,详述了安装Docker的具体命令,包括启用阿里云源和安装过程中的选择提示
    2024-11-11
  • Docker中的容器网络和通信原理详解

    Docker中的容器网络和通信原理详解

    这篇文章主要介绍了Docker中的容器网络和通信原理,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • docker中安装quagga详细介绍

    docker中安装quagga详细介绍

    这篇文章主要介绍了docker中安装quagga详细介绍的相关资料,这里提供了详细的步骤,及注意事项,需要的朋友可以参考下
    2016-10-10
  • docker 跨平台构建镜像的示例详解

    docker 跨平台构建镜像的示例详解

    这篇文章主要介绍了docker跨平台构建镜像的案例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • docker部署code-server的方法

    docker部署code-server的方法

    这篇文章主要介绍了docker部署code-server的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • 如何解决启动docker desktop报The network name cannot be found问题

    如何解决启动docker desktop报The network name ca

    在使用Docker Desktop时,可能遇到"The network name cannot be found"的错误,解决这个问题的方法是打开管理员权限的终端,执行重启Docker Desktop的相关命令,如果遇到虚拟化未开启的提示,需要执行“bcdedit /set hypervisorlaunchtype auto”
    2024-10-10
  • 记 -bash: docker-compose: command not found 的问题解决方法

    记 -bash: docker-compose: command not&nbs

    这篇文章主要介绍了记 -bash: docker-compose: command not found 的问题解决方法,本文给大家介绍的非常详细对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2024-01-01
  • docker cp 拷贝文件 和 进入容器的操作

    docker cp 拷贝文件 和 进入容器的操作

    这篇文章主要介绍了docker cp 拷贝文件 和 进入容器的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • 关于docker容器优雅退出的问题详解

    关于docker容器优雅退出的问题详解

    在Docker大火的今天,我们能够非常方便的使用容器打包我们的应用程序,并且将它在我们的服务器上部署并运行起来。而下面这篇文章主要给大家介绍了关于docker容器如何优雅退出的问题,需要的朋友可以参考下。
    2017-09-09
  • Docker 容器操作退出后进入解决办法

    Docker 容器操作退出后进入解决办法

    这篇文章主要介绍了Docker 容器操作退出后进入解决办法的相关资料,需要的朋友可以参考下
    2016-10-10

最新评论