把 docker 中的 debian 当虚拟机使用有什么潜在问题吗?

88 天前
 mmr

RouterOS v7 移除了 kvm 支持,只能用 Docker 了,想问问这么使用会有啥问题。

1674 次点击
所在节点    Docker
18 条回复
A01514035
88 天前
我首先想到的是持久化问题,但是只要你不删除掉容器,即使宿主机掉电重启,容器也还是可以重新 start 数据依旧还在吧。所以持久化也不是问题?当然要避免误删,不然你安装的软件都没了。挂载目录啥的可以解决数据问题但是 apt 安装的软件还是不太好挂载吧。
OutOfMemoryError
88 天前
这好像就是所谓的 LXC 吧,在某些需要独立内核的场景下会出问题
YsHaNg
88 天前
硬件直通麻烦点
Cola98
88 天前
注意镜像备份
FarmerChillax
88 天前
感觉这是个 X-Y 问题?感觉如果你的使用场景真的在意虚拟化,并不会问这个问题。为什么要把 docker 当虚拟机使用,感觉才是关键
mmr
88 天前
@FarmerChillax 因为 ROS 没有 kvm or lxc
boris1993Jr
88 天前
@mmr #6 那考虑搞个小主机跑单独的 Debian ?
毕竟容器在设计的时候就不是这么用的……
julyclyde
88 天前
一方面是持久化
另一方面有些资源在 cgroup 的隔离度还是不够
adoal
88 天前
要在物理机的 ROS 里运行虚拟机?这可能真是个 X-Y 问题。
BeautifulSoap
88 天前
持久化是个问题
要是我的话就直接备份下系统,然后物理机装个 PVE ,然后开个虚拟机专门给 RouterOS 了。剩下想跑什么系统就开几台虚拟机
FarmerChillax
88 天前
@mmr kvm 也好,lxc 也罢,这两者只是个工具,具体是「你要拿来干什么事?」,是简单的跑几个 web 服务?还是要做编译相关的工作?亦或是驱动相关的开发?简单的说就是「你要干的事情,需不需要这么底层的虚拟化?」,在给出的上下文中,给我的感觉是不需要的,以 docker 自身的用法就足以满足你的需求。(为什么得出这个感觉?因为如果有强烈的相关诉求,自己就很清晰的知道 docker 无法满足)
shuimugan
88 天前
你要找的是不是 ubuntu 的 lxd
cdlnls
88 天前
我一直把 docker 理解成一个“进程管理”工具,如果只是用来启动程序/管理进程,用 docker 那就没啥问题。docker 内置的一些功能,就有点像“虚拟机”,很容易给人一种 docker 可以当作虚拟机来用的错觉。但是 docker 和常见的虚拟机是完全不同的两套东西,它们实际上谁也不能代替谁。
leonshaw
87 天前
最大的问题就是内核隔离不够、一些功能受限
mmr
87 天前
@FarmerChillax 其实是有点不够的,ROS 的 docker 没有那么多权限可以开,那些需要操作网卡/进程的程序很多跑不了。比如 dnsmasq 之类的。
FarmerChillax
87 天前
@mmr #19 「 ROS 的 docker 没有那么多权限可以开」有两点疑惑:
1. 为什么说是 ROS 的 docker ?
2. 权限不够可以自己加,为何说没有那么多权限可以开?这个能否具体点?目前我只能粗暴的理解是 Web UI 上没得点?

可以参考 #13 说的「 docker 是一个进程管理工具」,dnsmasq 之类也是能 docker 运行的 -> https://github.com/tschaffter/docker-dnsmasq

因此感觉你是对 docker 了解的不够多,使用习惯上还是保持着原本「虚拟化」的使用习惯,而不是「容器化」的使用习惯(当然这也是一个普遍存在的问题)

## end
楼上说的解决办法与 docker 的一些缺陷都很不错,可以按需选择。无论是 kvm 还是 docker ,都是个工具,用正确的使用方法来使用工具才是正途。 就像用叉子也能吃饭,但并没有什么人这么用。
mmr
87 天前
@FarmerChillax 我的场景是在 RouterOS 软路由里跑其他系统,RouterOS 中集成的 Docker 为了安全性做出了牺牲,比如不支持操作网卡,没法使用主机网络,没有 tun ,没法 fork 进程…………。也正是因为没法 fork 进程,所以 dnsmasq 没法正常启动。功能受限不是没配置,是没法配置。
julyclyde
86 天前
@cdlnls 你的认识很精确

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1015852

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX