Win11/WSL环境在Docker/Alpine容器运行Linux/GUI应用
Contents
Win11/WSL环境在Docker/Alpine容器运行Linux/GUI应用
微软终于推win11的升级了,之前就有了解到win11/wsl能跑Linux/GUI,趁机会整点好玩的:
->win11/wsl2
->ubuntu/xfce4
->docker/alpine
->firefox+gimp(GUI_in_win11)
用一段时间看看效果,最终希望能解决多台电脑的应用迁移,免得不同电脑要重复搭建环境。
前期准备
由于本文操作涉及一定工作量的前期环境环境,各位同学需要自行查阅相关文章,好在都不算难。
操作系统:Windows11
启用功能:启用“适用于Linux的Windows子系统”,版本为wsl2
应用商城:安装“Windows Subsystem for Linux Preview”、Ubuntu或其他linux子系统
子系统内:安装桌面环境(如:xfce4)、Docker
具体操作
在wsl2/ubuntu环境下,创建docker/alpine容器,具体代码执行如下:
docker run \
-itd \
--net=host \
-e DISPLAY=$DISPLAY \
-v /tmp/.X11-unix:/tmp/.X11-unix \
--name alpine-firefox \
alpine sh && \
\
docker start alpine-firefox && \
docker exec -it alpine-firefox sh
因为wsl2能通过/mnt文件夹直接访问win文件,如果想让容器应用访问win文件,创建容器时可以加上类似的参数-v /:/mnt/wsl
(根据实际情况修改)
在docker/alpine容器里,安装GUI应用,具体代码执行如下:
sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories
sed -i '$a https://mirrors.tuna.tsinghua.edu.cn/alpine/edge/testing/' /etc/apk/repositories
apk update
apk add wqy-zenhei firefox
sed -i '$d' /etc/apk/repositories
apk update
firefox &
最后附上最终效果图