实验室闲置一台Linux大盘鸡(相比于别的巨盘鸡只能算小鸡鸡了),于是跑了一个Windows的Docker。使用 https://github.com/dockur/windows ,支持从Windows XP开始到Windows 11所有的版本,包括Windows Server。
鉴于实验室在新加坡,所以自带新加坡的加宽,顺便可以访问内网的资源。
通过以下命令运行:
docker pull dockurr/windows
docker run -d \
--name windows \
--env VERSION="11" \
--env RAM_SIZE="8G" \
--env CPU_CORES="8" \
--device /dev/kvm \
--cap-add NET_ADMIN \
-p 127.0.0.1:8006:8006 \
-v /var/windows:/storage \
--stop-timeout 120 \
dockurr/windows
如果想直接访问,直接把-p 127.0.0.1:8006:8006改成-p 8006:8006,就可以通过域名/IP:8006访问了,比如http://192.168.1.101:8006
推荐可以通过前置NGINX反向代理上HTTPS。
location /windows/ {
proxy_pass http://localhost:8006/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
于是就可以通过HTTPS访问了。https://example.com/windows/
PS:为了可以支持subpath(/windows),昨天还给相关的仓库提了一个Pull Request。
Windows的效果图大概是这样的:
它还有个兄弟项目,支持在Docker上运行macOS,可以参见:https://github.com/dockur/macos/
macOS一样可以通过如下命令一键运行 😎
docker pull dockurr/macos
docker run -d \
--name macos \
--env VERSION="15" \
--env RAM_SIZE="8G" \
--env CPU_CORES="8" \
--env DISK_SIZE="128G" \
--device /dev/kvm \
--cap-add NET_ADMIN \
-p 127.0.0.1:8006:8006 \
-v /var/osx:/storage \
--stop-timeout 120 \
dockurr/macos
macOS的效果图是这样的: