目前使用的是 wsl2 装 docker ,但是有一些疑惑想问下大家,jdk 和 maven 有办法直接使用 win 上的吗,还是需要在 wsl2 里再安装一份? win 上还有其他使用 docker 的平替方案吗?
1
yyfearth 2023-11-08 13:32:49 +08:00
orbstack 和 wsl2 本质上是一样的呀
都是一个用系统自带虚拟机 里面跑 Linux 然后再跑 Docker 替代方案自然是你自己搞一个虚拟机 VMware/PD 或者 VBox 然后里面自己装一个 Linux 然后里面跑 Docker Windows 有原生的 Docker 但是里面是用来跑 Win 程序的 要跑 Linux 的那必须有 Linux 的 Kernel 才行 自然需要虚拟机了 不过我记得 Java 的东西大都可以直接在 Win 上跑的 只是有些配置不一样 |
2
Goalonez OP @yyfearth 我目前是在 mac 上编辑了一份 sh 打包脚本。但是在 win 的场景下,mvn -> docker build 这一步,我原先手动打包是先在 win 上 mvn ,然后进入 wsl 里进行 docker build 。脚本的情况我希望统一先进入 wsl 然后执行 sh 脚本,所以在 wsl 里配置环境变量,路径使用/mnt 下的 win 上 jdk 和 mvn 的目录,却发现识别不到 java 和 maven 。
|
3
Goalonez OP 暂时通过 shell 脚本里通过 wsl docker --version 进入 wsl 执行完构建命令然后退出来实现了效果。一开始脚本中通过 wsl 命令只能进入 wsl ,但是无法继续执行后续的命令。问了 GPT 才知道 wsl 打开了新终端,所以导致脚本中断了。不知道还有没有更优雅一点的办法。。。
|
4
ikas 364 天前
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) |