1、docker常用技巧:docker数据位置更改

目录

🍅点击这里查看所有博文

  随着自己工作的进行,接触到的技术栈也越来越多。给我一个很直观的感受就是,某一项技术/经验在刚开始接触的时候都记得很清楚。往往过了几个月都会忘记的差不多了,只有经常会用到的东西才有可能真正记下来。存在很多在特殊情况下有一点用处的技巧,用的不多的技巧可能一个星期就忘了。

  想了很久想通过一些手段把这些事情记录下来。也尝试过在书上记笔记,这也只是一时的,书不在手边的时候那些笔记就和没记一样,不是很方便。

  很多时候我们遇到了问题,一般情况下都是选择在搜索引擎检索相关内容,这样来的也更快一点,除非真的找不到才会去选择翻书。后来就想到了写博客,博客作为自己的一个笔记平台倒是挺合适的。随时可以查阅,不用随身携带。

  同时由于写博客是对外的,既然是对外的就不能随便写,任何人都可以看到。经验对于我来说那就只是经验而已,公布出来说不一定我的一些经验可以帮助到其他的人。遇到和我相同问题时可以少走一些弯路。

  既然决定了要写博客,那就只能认真去写。不管写的好不好,尽力就行。千里之行始于足下,一步一个脚印,慢慢来 ,写的多了慢慢也会变好的。权当是记录自己的成长的一个过程,等到以后再往回看时,就会发现自己以前原来这么菜😂。

  本系列博客所述资料均来自互联网,并不是本人原创(只有博客是自己写的)。出于热心,本人将自己的所学笔记整理并推出相对应的使用教程,方面其他人学习。为国内的物联网事业发展尽自己的一份绵薄之力,没有为自己谋取私利的想法。若出现侵权现象,请告知本人,本人会立即停止更新,并删除相应的文章和代码。

文章目录

  • 目录
    • 为什么要迁移docker的存储目录
    • 停止docker服务
    • 数据迁移
    • 设置默认存储位置
    • 重启docker服务
    • 遇到的错误

为什么要迁移docker的存储目录

  在某些情况下我们可能需要将docker的存储目录修改到其他目录,单独管理。

  例如在部分嵌入式linux设备上,嵌入式linux设备拥有的闪存有限。可能只有8g。如果使用docker的话,存储空间将不够用。这时候我们就需要迁移docker的存储目录到外置设备上。

停止docker服务

root@debian-minix:~# systemctl stop docker
root@debian-minix:~# systemctl stop docker.socket
root@debian-minix:~# systemctl stop containerd

数据迁移

  创建一个新目录,并将现有的数据移动到新的目录。若没有数据需要迁移,可跳过该步骤。

root@debian-minix:~# sudo mkdir -p /new_dir
root@debian-minix:~# sudo mv /var/lib/docker /new_dir

设置默认存储位置

  设置docker默认存储位置有两个方法,第一个方法是直接修改docker的配置文件。在/etc/docker/daemon.json 中保存了 Docker 的配置,包括存储位置的配置。将以下内容添加到该文件中。

{"data-root": "/new_dir/docker"
}

  第二个方法是创建目录的软连接。将新的目录指向默认目录即可。

root@debian-minix:~# ln -s /new_dir/docker /var/lib/docker
root@debian-minix:~# ls -l /var/lib/docker
total 4
lrwxrwxrwx 1 root root    8 Jan  4 16:53 /var/lib/docker -> /new_dir/docker

重启docker服务

  完成设置后需要重启docker服务,若重启后不正常,可尝试重启设备。

root@debian-minix:~# sudo systemctl restart docker

  验证新的 Docker 根位置,配置完成之后,Docker 的 images 和 ps 命令应该一切正常。

root@debian-minix:~# docker info -f '{{ .DockerRootDir}}'
/new_dir/docker

遇到的错误

  若在迁移docker的根目录后,运行docker容器时出现下列类似的错误。一般为文件系统格式不行。symlink /proc/mounts /docker/vfs/dir/x/etc/mtab: operation not permitted

symlink /proc/mounts /mnt/sdcard/docker/vfs/dir/3cff2a6dfed236415d9ff4dff2173b58c61286ee81144b13564fc3f55e0ba247-init/etc/mtab: operation not permitted

  我这边测试后只需要将目标位置的文件系统格式化为ext4即可mkfs.ext4 /dev/mmcblk0。注意该操作将擦除目标磁盘的全部信息,请备份好数据后谨慎操作。

  那么本篇博客就到此结束了,这里只是记录了一些我个人的学习笔记,其中存在大量我自己的理解。文中所述不一定是完全正确的,可能有的地方我自己也理解错了。如果有些错的地方,欢迎大家批评指正。如有问题直接在对应的博客评论区指出即可,不需要私聊我。我们交流的内容留下来也有助于其他人查看,说不一定也有其他人遇到了同样的问题呢😂。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/596791.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【React】03-关于React state(状态) 的实践

背景 在学习React组件的过程中,发现state的运用很广泛,但对于它的使用及运行机制还是比较模凌两可的,故找了一些资料学习一下。 实践 React中的组件类型被分为了两类:函数组件,又被称为无状态组件;类组件…

1*2*3+3*4*5+...+99*100*101python,1加到100的程序算法python

大家好,本文将围绕python中123一直加到100程序怎么写展开说明,计算123456...100的值python是一个很多人都想弄明白的事情,想搞清楚计算1-23-45 … -100的值python需要先了解以下几个事情。 今天下午上python课的时候,老师留了一个…

python基础教程二(列表相关知识)

列表 列表定义及其相关内置函数 列表类似一个可以改变的数组,里边的类型不同于c,c要求类型必须相同,列表的元素任意类型都可以,最重要的是列表可以改变,和元组和字符串最大区别 list函数:将别的序列元素变…

佳能G3800彩色喷墨多功能一体打印机报5B00错误代码处理方法

5B00错误代码的含义 5B00错误代码是指佳能G3800打印机的“废墨仓已满”。这个废墨仓是打印机内部的一个部件,主要用于收集打印过程中产生的废墨。当废墨仓已满时,打印机就会报5B00错误代码。 佳能G3800彩色喷墨多功能一体打印机报5B00错误代码处理办法 …

大数据 MapReduce是什么?

在Hadoop问世之前,其实已经有了分布式计算,只是那个时候的分布式计算都是专用的系统,只能专门处理某一类计算,比如进行大规模数据的排序。 很显然,这样的系统无法复用到其他的大数据计算场景,每一种应用都…

大数据技术与应用开发赛项笔记

各种启动命令 修改mysql数据库编码:alter database shtd_result CHARACTER SET utf8; hadoop : start-all.sh hive服务: hive --service metastore hive 客户端 :hive dolphinscheduler服务:./bin/dolphinscheduler-daemon.sh sta…

【算法刷题】## 算法题目第1讲:双指针处理数组题目 带视频讲解

算法题目第一讲:双指针处理数组题目 解决力扣: [344. 反转字符串][167. 两数之和 II - 输入有序数组][26. 删除有序数组中的重复项][27. 移除元素][283. 移动零][5. 最长回文子串] 配合b站视频讲解食用更佳:https://www.bilibili.com/video/BV1vW4y1P…

傻傻”的JAVA编译器

故事是从一个问题开始的:为什么 Java 中 2 * (i * i) 比 2 * i * i更快? 猛地一看,我还以为有人在钓鱼,这俩玩意不应该是一模一样吗?第二反应是计算结果溢出了int值所以导致了这个差异,于是我掏出JMH这个利…

什么是系统设计 – 学习系统设计

系统设计被定义为为系统的不同组件、接口和模块创建架构并提供有助于在系统中实现这些元素的相应数据的过程。系统设计是任何分布式系统设计背后的核心概念。 系统设计涉及识别数据源,它是描述、创建和规划框架以满足特定业务的必要性和先决条件的直觉。 为什么要…

excel公式名称管理器

1.问题 在日常使用excel的时候,发布一个表格文件,需要限制表格的某列或某行只能从我们提供的选项中选择,自己随便填写视为无效,如下图所示,上午的行程安排只能从"在岗"、"出差"、"病假"…

java面试汇总

JVM内存模型与Java线程内存模型的区别 JVM内存模型描述的是Java虚拟机在执行Java程序时如何管理和使用内存,主体围绕:方法区(Method Area)、堆(Heap)、程序计数器(Program Counter Register&am…

AI绘图模型不会写字的难题解决了

介绍 大家好,最近有个开源项目比较有意思,解决了图像中不支持带有中文的问题。 https://github.com/tyxsspa/AnyText。 为什么不能带有中文? 数据集局限 Stable Diffusion的训练数据集以英文数据为主,没有大量包含其他语言文本的…

LeetCode-141环形链表 LeetCode-142环形链表二

一、前言 本篇文章在我之前讲完的链表、链表与递归的基础上进行讲解,本次我们以leetcode为例,讲解链表的其他题型,今天我们先了解一下环形链表,这里我们以leetCode141和leetCode142为例。 二、LeetCode141 首先关于这道题&#…

微服务注册中心之Eureka

微服务注册中心之Eureka eureka 搭建集群 版本说明 Spring Boot 2.1.7.RELEASE spring-cloud-starter-netflix-eureka-server Finchley.SR2 spring-boot-starter-security 2.1.7.RELEASE pom.xml 文件 <?xml version"1.0" encoding"UTF-8"?> &l…

游戏缺少emp.dll详细修复教程,快速解决游戏无法启动问题

在现代游戏中&#xff0c;我们经常会遇到一些错误提示&#xff0c;其中之一就是“emp.dll丢失”。emp.dll是一个动态链接库文件&#xff0c;它包含了许多程序运行所需的函数和数据。当一个程序需要调用这些函数时&#xff0c;系统会从emp.dll文件中加载相应的内容。因此&#x…

VSCode上远程调试代码出现的问题

记录一下&#xff1a; 真的是汗流浃背了&#xff0c;师妹叫帮忙如何在VSCode上远程调试代码&#xff0c;一些自己已经经历过的问题&#xff0c;现在已经忘记了。又在网上一顿搜索&#xff0c;这次记录下吧。。。 出现以下问题&#xff1a; 1. 终端界面总是sh-4.4 $ &#xff…

【每日试题】java面试题之中间件

什么是中间件&#xff1f; 中间件是指位于客户端和服务器之间的一层软件&#xff0c;它可以提供一系列的服务&#xff0c;简化了开发和管理复杂的分布式应用系统。 中间件的分类有哪些&#xff1f; 中间件可以分为消息中间件、缓存中间件、数据访问中间件、分布式计算中间件、…

LINUX加固之命令审计

一、前言 在LINUX安全范畴中&#xff0c;安全溯源也是很重要的一个环节。对主机上所有曾操作过的命令详细信息需要有一份记录保存&#xff0c;当系统遭受破坏或者入侵&#xff0c;拿出这份记录&#xff0c;可以帮助定位一些可疑动作。 很多系统通常都会配置安全堡垒机&#xff…

jmeter断言-三种

1.响应断言 substring是指包含就行 不用完全相等 2.json断言 3.持续时间断言

Consule安装与SpringBoot集成

Consule Consul 是由 HashiCorp 开发的一款软件工具&#xff0c;提供了一组功能&#xff0c;用于服务发现、配置管理和网络基础设施自动化。它旨在帮助组织管理现代分布式和微服务架构系统的复杂性。以下是Consul的一些关键方面和功能&#xff1a; 服务发现&#xff1a;Consul…