V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Goalonez
V2EX  ›  Windows

win 上有类似 orbstack 体验的软件吗?

  •  
  •   Goalonez · 176 天前 · 1105 次点击
    这是一个创建于 176 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前使用的是 wsl2 装 docker ,但是有一些疑惑想问下大家,jdk 和 maven 有办法直接使用 win 上的吗,还是需要在 wsl2 里再安装一份? win 上还有其他使用 docker 的平替方案吗?

    4 条回复    2023-11-11 19:29:50 +08:00
    yyfearth
        1
    yyfearth  
       176 天前
    orbstack 和 wsl2 本质上是一样的呀
    都是一个用系统自带虚拟机 里面跑 Linux 然后再跑 Docker

    替代方案自然是你自己搞一个虚拟机 VMware/PD 或者 VBox
    然后里面自己装一个 Linux 然后里面跑 Docker

    Windows 有原生的 Docker 但是里面是用来跑 Win 程序的
    要跑 Linux 的那必须有 Linux 的 Kernel 才行 自然需要虚拟机了

    不过我记得 Java 的东西大都可以直接在 Win 上跑的 只是有些配置不一样
    Goalonez
        2
    Goalonez  
    OP
       176 天前
    @yyfearth 我目前是在 mac 上编辑了一份 sh 打包脚本。但是在 win 的场景下,mvn -> docker build 这一步,我原先手动打包是先在 win 上 mvn ,然后进入 wsl 里进行 docker build 。脚本的情况我希望统一先进入 wsl 然后执行 sh 脚本,所以在 wsl 里配置环境变量,路径使用/mnt 下的 win 上 jdk 和 mvn 的目录,却发现识别不到 java 和 maven 。
    Goalonez
        3
    Goalonez  
    OP
       176 天前
    暂时通过 shell 脚本里通过 wsl docker --version 进入 wsl 执行完构建命令然后退出来实现了效果。一开始脚本中通过 wsl 命令只能进入 wsl ,但是无法继续执行后续的命令。问了 GPT 才知道 wsl 打开了新终端,所以导致脚本中断了。不知道还有没有更优雅一点的办法。。。
    ikas
        4
    ikas  
       173 天前
    jdk 肯定没法共用一个的,jdk 本身是分系统的.maven 复制一份也无所谓,本来就很小

    wsl2 可以直接调用 win 的 java,但是要使用 java.exe 而不能使用 java


    java -version
    openjdk version "11.0.11" 2021-04-20 LTS
    OpenJDK Runtime Environment Zulu11.48+21-CA (build 11.0.11+9-LTS)
    OpenJDK 64-Bit Server VM Zulu11.48+21-CA (build 11.0.11+9-LTS, mixed mode)

    win:
    java.exe -version
    openjdk version "21" 2023-09-19
    OpenJDK Runtime Environment Zulu21.28+85-CA (build 21+35)
    OpenJDK 64-Bit Server VM Zulu21.28+85-CA (build 21+35, mixed mode, sharing)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2367 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 106ms · UTC 12:24 · PVG 20:24 · LAX 05:24 · JFK 08:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.