docker存储目录迁移示例教程

 更新时间:2023年06月30日 15:09:46   作者:风雪留客  
随着docker的使用时间越来越长,导致镜像和容器越来越多,占满了系统盘空间,这时,我们需要给它们搬个家了,这篇文章主要介绍了docker存储目录迁移教程,需要的朋友可以参考下

前言

docker默认数据存储目录为/var/lib/docker,在docker的使用中随着下载镜像越来越多,构建镜像、运行容器越来越多, 数据目录必然会逐渐增大;当所有docker镜像、容器对磁盘的使用达到上限时,就需要对数据目录进行迁移。

查看磁盘大小

[root@localhost system]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                  16G     0   16G    0% /dev
tmpfs                     16G     0   16G    0% /dev/shm
tmpfs                     16G   12M   16G    1% /run
tmpfs                     16G     0   16G    0% /sys/fs/cgroup
/dev/mapper/centos-root   50G   40G   11G   80% /
/dev/mapper/centos-home  957G   14G  944G    2% /home
/dev/vda1               1014M  152M  863M   15% /boot
tmpfs                    3.2G     0  3.2G    0% /run/user/0

此处,我们可以看到,home的存储空间最大,我们将docker迁移到这个目录下。

停止docker服务

systemctl stop docker

创建新目录

mkdir -p /home/docker/lib

拷贝原数据

cp -r /var/lib/docker/ /home/docker/lib/

查找docker.service文件位置

[root@localhost system]# systemctl status docker.service
● docker.service - Docker Application Container Engine
   ############# 我们可以看到docker.service的存储位置在/etc/systemd/system/docker.service
   Loaded: loaded (/etc/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: inactive (dead) since 四 2023-06-29 18:20:51 CST; 14min ago
     Docs: https://docs.docker.com
  Process: 1154 ExecStart=/usr/bin/dockerd (code=exited, status=0/SUCCESS)
 Main PID: 1154 (code=exited, status=0/SUCCESS)

修改docker.service文件

vim /etc/systemd/system/docker.service
### 找到 ExecStart=/usr/bin/dockerd 配置,新增--data-root=/home/docker/lib/docker
### 原配置
ExecStart=/usr/bin/dockerd
### 修改后配置
### 新版docker使用--data-root,旧版使用--graph=/home/docker/lib/docker
ExecStart=/usr/bin/dockerd --data-root=/home/docker/lib/docker

重启docker

systemctl daemon-reload
systemctl restart docker
systemctl enable docker

确认修改

docker info

执行结果

...
### 看到此处代表已经修改成功了
 Docker Root Dir: /home/docker/lib/docker
...

再次确认

df
overlay                 1003251076 14163212 989087864    2% /home/docker/lib/docker/overlay2/2f487483e581469c5731a20e4f775591caaeb8634ea3c6a8a325c15cd877ab1f/merged
overlay                 1003251076 14163212 989087864    2% /home/docker/lib/docker/overlay2/52ecff0880adeee2444dabd749259f589f2311d84479563cd0561025e200321d/merged
overlay                 1003251076 14163212 989087864    2% /home/docker/lib/docker/overlay2/6fb351e9034522ef64ba94056c1e957dd62cde9e4a508300021a12d63dc20d0b/merged

到此这篇关于docker存储目录迁移教程的文章就介绍到这了,更多相关docker存储目录迁移内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 基于Docker+K8S+GitLab/SVN+Jenkins+Harbor搭建持续集成交付环境的详细教程

    基于Docker+K8S+GitLab/SVN+Jenkins+Harbor搭建持续集成交付环境的详细教程

    K8S全称是Kubernetes,是一个全新的基于容器技术的分布式架构领先方案,这篇文章主要介绍了基于Docker+K8S+GitLab/SVN+Jenkins+Harbor搭建持续集成交付环境(环境搭建篇),对docker K8S持续集成交付环境相关知识感兴趣的朋友一起看看吧
    2021-05-05
  • Docker终端无法输入中文问题及解决

    Docker终端无法输入中文问题及解决

    Docker终端输入中文问题可通过修改语言环境解决,系统默认POSIX字符集不支持中文,将环境变量LANG设置为C.UTF-8即可解决,方法包括启动容器时添加环境变量和进入容器后修改
    2024-11-11
  • docker创建容器的两种实现方式(交互式与守护式)

    docker创建容器的两种实现方式(交互式与守护式)

    这篇文章主要介绍了docker创建容器的两种实现方式(交互式与守护式),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-05-05
  • docker配置pytorch环境来进行训练的方法步骤

    docker配置pytorch环境来进行训练的方法步骤

    本文主要介绍了docker配置pytorch环境来进行训练的方法步骤,从零开始配置,包括换源,安装下载,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • docker搭建minio的问题解决

    docker搭建minio的问题解决

    本文主要介绍了docker搭建minio的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • Docker compose配置文件写法及命令使用示例

    Docker compose配置文件写法及命令使用示例

    这篇文章主要介绍了Docker compose配置文件写法及命令总结使用示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-03-03
  • Mysql 在 Docker 中的时区问题记录

    Mysql 在 Docker 中的时区问题记录

    Mysql 时区一般是跟着系统走的,而在 Docker 中安装 Mysql 默认时区是 UTC,下面介绍,创建Docker容器前、后,分别如何设置 Mysql 时区,感兴趣的朋友跟随小编一起看看吧
    2024-07-07
  • Docker删除某个镜像的实现方法

    Docker删除某个镜像的实现方法

    在使用 Docker 时,经常需要删除不再需要的镜像、容器和卷,以释放存储空间,本文主要介绍了Docker删除某个镜像的实现方法,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • 前端实现自动化部署docker+Jenkins的完整过程

    前端实现自动化部署docker+Jenkins的完整过程

    在现代前端开发中自动化部署变得越来越重要,通过使用Docker、Jenkins和Nginx,我们可以实现高效的前端自动化部署,这篇文章主要介绍了前端实现自动化部署docker+Jenkins的完整过程,需要的朋友可以参考下
    2025-07-07
  • Docker 跨主机容器间相互访问的实现

    Docker 跨主机容器间相互访问的实现

    本文主要介绍了Docker 跨主机容器间相互访问的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01

最新评论