docker 文件撑爆服务器根目录处理方案

docker 文件撑爆服务器根目录处理方案,第1张

默认的情况下,docker启动的容器经过日积月累,会产生很多的大文件,大到足以撑满服务器的磁盘空间。这个时候该怎么办呢?答案当然是扩容了。

这里给一个常规的解决思路,给云服务器增加一块大磁盘,然后将docker的文件全部移到新挂载的磁盘里,再为docker创建一个软链接即可。

示例中的磁盘并不是另外加的一块,而且之前就存在的磁盘,但是有一大部分空间未分配。但实际上这跟新加的磁盘处理方案是一样的,下面就以此为例做个简单介绍。

查看磁盘情况

可以看到xvda磁盘有200G的空间,但是只挂载了50G左右的,剩下的都在空闲状态,现在需要将剩下的150G左右的空间给利用上

执行以下命令,建立分区

按提示输入 m 可查看命令帮助
输入 p 查看当前磁柱请情况
输入 n 新建分区,并按提示选择分区类型,及起始和结束扇区
然后输入 w 保存
最后再用 reboot 重启服务器

重启服务器之后,为刚刚建立的分区格式化

可以用以下命令查看下挂载后的结果

之前这台服务器的根目录使用100%的磁盘,经过这个方法处理之后,降到45%了。

截止到22年04月01日为止

portainer 官网提供版本 293
>1找到你想移动的 Docker 容器的 ID

docker ps -a 

2提交你的变更,并且把容器保存成镜像,命名为 redis。

docker commit a1a303886ef4  redis(变更好名字)

3把 redis 镜像保存成 tar 文件

docker save redis > /app/redistar

​4拷贝到新的机器,执行load命令

docker load < /app/redistar

5docker  exec  -it  容器ID   /bin/bash 启动打包的容器

docker运行的java无法请求到别的服务器怎么办
这个其实应该非常少碰到,我碰到了算是巧合,因为默认的系统参数其实是不会出现这种情况的。
两种可能的原因会造成Docker容器内无法访问外部网络:
容器使用了桥接网络但防火墙屏蔽了通信
/etc/sysctlconf系统配置参数问题
我碰到的情况属于第二种,配置参数问题,修正方法:
编辑/etc/sysctlconf
将其中的netipv4ip_forward=0改成netipv4ip_forward=1。
重载配置,之后Docker的容器即可正常通信,如果不行,restart下容器。
sysctl -p

仓库(Repository)是集中存放镜像的地方,仓库分为公有仓库与私有仓库

一个容易混淆的概念是注册服务器(Registry)。实际上注册服务器是管理仓库的具体服务器,每个服务器上可以有多个仓库,而每个仓库下面有多个镜像。从这方面来说,仓库可以被认为是一个具体的项目或目录。例如对于仓库地址 ldockerpoolcom/ubuntu 来说,dldockerpoolcom是注册服务器地址,ubuntu是仓库名。

大部分时候,并不需要严格区分这两者的概念。

注册服务器、仓库、镜像关系如下

原文传送门

随手浏览时,翻到一篇文章《 服务器指北 - 有了服务器之后可以做点什么 》,我平时就喜欢在家里搞东搞西,这标题正对胃口。毫不犹豫的点进去看看有什么新东西能用在家里的山寨服务器上。果然没让我失望,里面提到一个影音管理系统叫做jellyfin,从之前的 emby fork 而来,由于 emby 闭源了,大家就在这基础上分支出了 Jellyfin。

特性嘛?

话不多说,让我们直奔主题吧。

我的家庭nas服务器系统的版本是ubuntu1604,是用一个acer旧笔记本改的,原来的硬盘容量已经很小了,只能用来跑系统,存储全部使用外挂方式,用来存储自己的本地资料以及搭建云盘和云笔记的数据资料,影音文件也在其中。
我选择搭建docker版jellyfin,影音库直接挂到外存中的影音文件夹,不需要对原有资料路径做任何变动。

当看到这段文字时,说明docker安装成功了。

至此,Docker安装最简版,完成。没有像其他文章提到的配置镜像站,也没有分配用户权限。没分配用户权限不是好的示范,不提倡学习,但是我这边自家内网使用,一切从简。
下面开始使用docker来搭建本文的主角——Jellyfin服务。

然而我并不是这样做的。因为懒,直接docker安装了。

上面的参数中需要说明的是:

docker会自动拉取镜像完成安装

如果能看到上面的画面,说明jellyfin安装完成,就是这么便捷!!!!docker越来越成功果然是有道理的。
现在就可以通过>

做开发的基本都听说过沙盒 (Sandbox) 和虚拟机 (Virtual Machine,简称 VM) ,如今容器技术很火,其中以 docker 最受大家欢迎。作为一种集群管理工具,K8s 最近也是火的不要不要的。 我们经常会讲 docker 和 K8s 联系起来,那么两者之间又存在什么关联呢?

首先 Sandbox 和 VM 都是属于 虚拟技术 ,用来虚拟软件运行环境并具有资源隔离的功能。Sandbox 比较“轻”(只需要虚拟出一个小的环境)且一旦退出就释放之前占用的资源;VM 则比较重(虚拟出整个 *** 作系统,相当于子电脑)。关于 Sandbox 和 VM 的区别可以参考博客: >

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/13432693.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-09-01
下一篇2025-09-01

发表评论

登录后才能评论

评论列表(0条)

    保存