今天簡單的研究:
1. WANIX 是使用 Plan 9 的架構,而不是 Linux,在系統設計上其實很不一樣
2. WANIX 雖然文件上寫支援 x86 執行檔(Built-in emulator for x86 support, Linux compatibility, and Docker-like functionality),實測執行一個最簡單的 Go executable 仍失敗
3. WANIX 本身沒有支援 Dockerfile(或 docker),它說的 docker-like functionality 其實是指 Plan 9 系統中,每個 process 都有自己的 namespace,所以可以做到 container 的效果
4. WANIX 的好處是 runtime 較小,實測在瀏覽器載入一個 terminal 只要 30MB
5. 缺點是如果要加入其他的程式,除非直接用 Go 或支援 WASM 的語言寫,否則會相當困難。而且似乎也要串它自己的 code
結論是 WANIX 目前仍不適合作為 Linux Odyssey 的開發環境
但今天找到另一個專案
container2wasm,是直接將 Docker image 編繹成 wasm 檔的工具
1. 直接支援 Dockerfile 和 x86 executable。目前測試了編繹 ubuntu image,可成功使用 shell、Python
2. 環境會跟原始容器相同
3. bundle size 較 WANIX 大(~300MB)
4. 編繹時間長(花了 ~10 min for basic ubuntu image)
結論:container2wasm 可能是個能夠使用的工具,之後會再做更多測試