1
mouyase 2020-11-11 12:08:16 +08:00 via Android
不懂但是支持
|
2
zjlletian 2020-11-11 12:24:00 +08:00
Containerd 是基于 linux 的,你想说的应该是 windows 下的云端软件,你搜一下云端软件就知道了,好几年前比较火,不过这玩意儿已经凉的差不多了。。
|
3
naoh1000 OP |
4
Cooky 2020-11-11 12:26:46 +08:00 via Android
沙盘不用禁止读写,直接把目录设成空的就完了
|
5
0TSH60F7J2rVkg8t 2020-11-11 12:28:18 +08:00 via iPhone
我估计实现不了,因为国产软件在 Windows 下全都用了驱动,驱动在 ring0 层,docker 的模式应该隔离不了
|
6
jinliming2 2020-11-11 13:53:41 +08:00 via iPhone
我觉得比较靠谱的是参考 windows 10 自带的那个 Sandbox 。
|
7
zh584728 2020-11-11 14:05:09 +08:00
@jinliming2 windows 10 自带的沙盒好像不能保存,关闭后就销毁了
|
8
Osk 2020-11-11 14:06:24 +08:00 via Android
Windows 自带的沙盘,也是 hyper-v 。。。
|
9
codehz 2020-11-11 20:28:07 +08:00
我也在研究这个,但是这玩意没有文档,然后我测试了一下 container.dll 里的 WcCreateDescriptionFromXml 函数,大致研究出了一部分选项(里面文本是乱编的,肯定不能正确创建,但是至少试探出了能过解析的选项列表)
然而,一旦传递给 WcCreateContainer 函数,除了 job 命名空间能创建之外,其他的全部爆炸。。。我打算回归手动使用 bindfltapi.dll wcifsapi.dll iphlpapi.dll 去折腾... 前两个大概是和文件系统重定向有关的,后者用 SetJobCompartmentId 来管理网络命名空间 注册表看起来涉及 \Device\VRegDriver 挂载点似乎就是直接和 \\.\MountPointManager 通讯 命名管道也是 \\.\Pipe |
10
lxilu 2020-11-11 21:41:28 +08:00 via iPhone
用标准账户运行
|
13
tankb52 2020-11-12 11:52:56 +08:00
@naoh1000
2012 年的 windows 端软件了。 可以看下面的链接介绍。 http://xbeta.info/yunduan.htm http://xiazai.zol.com.cn/detail/37/366961.shtml |
14
systemcall 2020-11-13 18:44:58 +08:00 via Android
Windows 下有不同级别的容器。Windows Sandbox,win32 转制的 UWP,Windows Defend 应用程序高级防护是不同的级别,微软自己的文档有
我想到一个方法,就是用 Windows Sandbox 来弄一块与宿主隔离的环境,里面再跑自己的容器 Windows Sandbox 自己有文件夹共享、启动脚本、GPU 虚拟化这类功能。不能存盘不见得是坏事,只要对应用程序来说是有存盘的功能的就可以了,自己的沙盒漏沙了都不要紧 给 Windows Sandbox 里面加进去存档的目录,启动时运行自己的沙盒就行了。不过没有试过在那里面加载没有签名的驱动,不知道能不能跑起来 |
15
systemcall 2020-11-13 18:48:42 +08:00 via Android
@ahhui 不知道能不能把那些驱动丢到一个 VM 里面跑。驱动和主程序之间好像走的是 RPC 吧,不清楚这方面的东西。
国产软件为了兼容 XP 和没有装显卡驱动的电脑,就算没有 3D 加速一样的跑。感觉丢到虚拟机里面可能还要快一些,因为没有多少文件给他们扫 |
16
0TSH60F7J2rVkg8t 2020-11-13 21:28:57 +08:00 via iPhone
@systemcall 这个问题我回答不了,不是驱动专家。可能要请教相关专业人士。不过国产软件带驱动也能在虚拟机里跑,但你如果本来要做 docker 的结果搞成了 vmware 的话,那工程可就浩大了
|
18
muzuiget 2020-11-16 14:41:46 +08:00
Windows 版的 Docker 还是虚拟机的,不用 Docker 了,直接虚拟机就行。
|
19
naoh1000 OP @muzuiget Docker 的 Containerd 已经支持了 Windows 的进程隔离(限 Windows 2019 )
|
20
Joker123456789 2020-11-19 15:46:59 +08:00
可以研究下 ios 的 app 管理机制。
|
21
codehz 2020-11-19 16:42:29 +08:00
@naoh1000 #19 测试了一下,基础机制都有,只限 windows server 的原因大概是许可证的问题(
搜索关键字 windows serversilo |
22
qsnow6 2020-11-27 01:49:58 +08:00 via iPhone
不行就来一个虚拟机专门跑国产软件
|