在MacOS下使用Docker运行GUI
在Docker内运行GUI程序需要利用 X_Window_System , MacOS下对应的实现是Xquartz.
1. 安装socat
brew install socat socat TCP-LISTEN:6000,reuseaddr,fork UNIX-CLIENT:\"$DISPLAY\" & (1)
-
Xquartz的listen 端口为6000
2. 安装Xquartz
在 https://www.xquartz.org/ 网站上下载并安装Xquartz
xhost + (1) docker run -e DISPLAY=host.docker.internal:0 gns3/xeyes (2)
-
允许所有其他ip地址的客户端连接到xquartz
-
host.docker.internal 是一个Docker Desktop for MAC专用的nameserver, 可以解析出host对应的ip
如果成功的话,就可以看到一个眼睛的界面
Figure 1. 运行成功的结果