docker数据迁移

前言

开发服务器随着docker运行服务的变多,docker目录占用磁盘空间也在逐渐变大,终于在最近磁盘彻底占满导致容器启动不起来并提示"no device space left"。为了防止以后出现docker占用磁盘容量不够的情况决定对docker数据目录迁移。

docker数据目录

目前我的linux系统为CentOS Linux release 7.8.2003 (Core),docker版本为Docker version 19.03.13, build 4484c46d9d,docker数据默认存储在/var/lib/docker目录下。实际存储目录可以参考docker info输出(其中的Docker Root Dir就是需要迁移目录):

Client:...Server:...Docker Root Dir: var/docker/lib...

迁移步骤

1.停止dockerd服务

systemctl stop docker或者service docker stop

2.创建新目录

因为作者目前大容量硬盘挂载在了/home目录下,所以新目录建立在/home目录下
mkdir -p /home/docker/lib

3.迁移数据

cp命令这两个参数比较关键(R:递归复制;p:保留原有权限),如果不加p参数可能会导致迁移后的目录的/tmp目录og(其他人&&组)丢失w(写)权限。教训:mongo容器启动需要在/tmp目录下创建****.sock监听请求,由于cp没有加上p参数导致/tmp目录从drwxrwxrwt权限变为drwxr-xr-t权限,无法成功启动。t权限是x+SBIT形成的。
/usr/bin/cp -Rp /var/lib/docker/* /home/docker/lib

4.编辑docker配置文件

编辑配置文件添加一行"graph": "/home/docker/lib"
vim /etc/docker/daemon.json

{"registry-mirrors": [],"graph": "/home/docker/lib"
}

或者软链接新目录到原来的目录(需要删除原目录或者ln命令加上f参数强行移除)
ln -s /home/docker/lib /var/lib/docker

5.重启dockerd服务

systemctl start docker或者service docker start

6.查看是否成功

  1. 使用docker info命令查看Docker Root Dir参数是否变为了新的目录
  2. 查看容器是否全部启动,如果没有启动可以通过ps -a命令查看exit容器并执行docker start {container_id}或者docker start `docker ps -a --filter 'status=exited' --format '{{.ID}}'`重启所有退出的容器(该操作会重启已退出但未清除的临时容器,请根据实际情况过滤操作)

7.删除原始目录

确认数据等没有任何问题后删除原始目录
注意:如果前面使用ln -s挂载新硬盘到原始目录下则跳过下面步骤
rm -rf /var/lib/docker

参考

  1. docker 修改镜像和容器的存放路径
  2. docker挂载目录出错的问题解决

docker数据迁移相关推荐

  1. docker-/var/lib/docker数据迁移

    docker默认目录是/var/lib/docker,位于系统盘上,占用空间比较大,计划迁移到新挂在的盘上. 第一步,在新盘上创建文件夹 mkdir -p /data/docker/lib 第二步,复 ...

  2. docker的文件流处理_Docker数据卷Volume实现文件共享、数据迁移备份(三)--技术流ken...

    前言 前面已经写了两篇关于docker的博文了,在工作中有关docker的基本操作已经基本讲解完了.相信现在大家已经能够熟练配置docker以及使用docker来创建镜像以及容器了.本篇博客将会讲解如 ...

  3. docker 空间满数据迁移笔记

    docker默认数据存放路径是 /var/lib/docker,df -h 查看var挂载目录 所分配空间过小,所以想把docker目录迁移到 目录/home/ 大空间下: 01. df -h 查看磁 ...

  4. docker mysql数据迁移

    docker mysql数据迁移 1.导出mysql数据 1.1 #导出对应数据库mysqldump -u 用户名 -p 数据库名 > 导出的文件名1.2 #示例mysqldump -u roo ...

  5. 客快物流大数据项目(十二):Docker的迁移与备份

    目录 Docker的迁移与备份 一.容器保存为镜像 二. 镜像备份 三.镜像恢复与迁移 Docker的迁移与备份

  6. Docker 数据卷之进阶篇

    Docker 数据卷之进阶篇 原文:Docker 数据卷之进阶篇 笔者在<Docker 基础 : 数据管理>一文中介绍了 docker 数据卷(volume) 的基本用法.随着使用的深入, ...

  7. docker学习笔记(四)docker数据持久化volume

    docker数据持久化 官网:https://docs.docker.com/storage/volumes/ docker中的容器是可以随时销毁的,容器中的数据会随着容器的消亡而消亡.然而很多容器都 ...

  8. 数据迁移测试_自动化数据迁移测试

    数据迁移测试 Data migrations are notoriously difficult to test. They take a long time to run on large data ...

  9. 一部分 数据 迁移_从虚机到容器,知名架构师告诉你如何平滑进行业务迁移

    [小宅按]近期,短视频产品"秒拍"完成了一个"大动作"--将原来部署在虚拟机上的主体业务迁移到华为云,同时将公司的技术体系承载在下一代虚拟技术容器(Docker ...

最新文章

  1. 2020应届生:今年秋招也太太太太太难了吧!
  2. 【数据库复习】第二章关系数据库
  3. flink scala shell命令行使用示例
  4. 两块网卡实现多台机器共享上网
  5. 深入浅出 - Android系统移植与平台开发(十三)- Android的对象管理
  6. 第1-2讲 初识SLAM
  7. VB怎样屏蔽 Alt+F4键
  8. SCPPO(二十六):测算过程中问题的解决总结
  9. Deep Learning for NLP Best Practices
  10. 如何把苹果手机iPhone/iPad无线投屏到MAC电脑计算机上面?
  11. 毕业论文查重注意事项论文检测查重原理(以PaperPass为例)
  12. js 注释,分号用法
  13. 利用一种新的灵活记分卡方法改进肽抗癌活性的预测和表征
  14. ijk基于exo_github上十二款最著名的Android播放器开源项目
  15. 华硕h410m-f主板检测不到硬盘启动选项?
  16. 面试题(二十五)设计模式
  17. php技术面试成功后试岗,6.3公里“阅读静安”光音栈桥“会唱歌”
  18. rabbitMQ实例(java)
  19. 伤寒杂病论.辨太阳病脉证并治(上)
  20. 显示手机键盘的回车换行

热门文章

  1. 《Relational inductive biases, deep learning, and graph networks》笔记
  2. 小红书显示找不到服务器,小红书崩了是怎么回事
  3. linux1400错误,LINUX系统grub常见错误分析
  4. RS推荐系统-基于流行度的推荐
  5. 微会动微信现场互动:微信公众平台基础知识2019修订版
  6. 应用统计所需计算机软件,应用统计学-样章试读.PDF
  7. 由Github迁移到GitCafe
  8. linux 解压rar文件
  9. [9i]九族姻亲所用到的英文单词
  10. 加一度强烈推荐:信息流广告精准投放大杀器