在wsl的docker中调用windows下程序

wsl1中可以尝试这样mount
docker run --rm -it --privileged \
    --mount type=bind,source=/mnt,target=/mnt \
    --mount type=bind,source=/run/WSL,target=/run/WSL \
    --mount type=bind,source=/etc/passwd,target=/etc/passwd,readonly \
    --mount type=bind,source=/etc/group,target=/etc/group,readonly \
    --mount "type=bind,source=$HOME,target=$HOME" \
    --workdir "$HOME" \
    -u $(id -u):$(id -g) \
    --env WSLENV="${WSLENV}" \
    --env WSL_DISTRO_NAME="${WSL_DISTRO_NAME}" \
    --env WSL_INTEROP="${WSL_INTEROP}" \
    --env WT_PROFILE_ID="${WT_PROFILE_ID}" \
    --env WT_SESSION="${WT_SESSION}" \
    ubuntu \
    sh -c '/mnt/c/Windows/system32/notepad.exe'

wsl2中尝试这样mount
docker run --rm -it --privileged \
--mount type=bind,source=/init,target=/init \
--mount type=bind,source=/mnt,target=/mnt \
--mount type=bind,source=/run/WSL,target=/run/WSL \
--env WSL2_GUI_APPS_ENABLED="${WSL2_GUI_APPS_ENABLED}" \
--env WSL_INTEROP="${WSL_INTEROP}" \
--env PULSE_SERVER="${PULSE_SERVER}" \
ubuntu \
bash -c '"/mnt/c/Support Files/notepad.exe"'
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容