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

2024-01-07 23:33:02

目录

🍅点击这里查看所有博文

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

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

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

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

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

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

为什么要迁移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。注意该操作将擦除目标磁盘的全部信息,请备份好数据后谨慎操作。

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

文章来源:https://blog.csdn.net/weixin_44570083/article/details/135396100
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。