我想通过 ssh 进入我的 linux mint 18 服务器(运行 X11)并登录到 docker 容器并将 iPython matplotlib 图转发到本地客户端(也是 mint)。都在局域网内。
我发现的最接近的问题是:https : //stackoverflow.com/questions/25281992/alternatives-to-ssh-x11-forwarding-for-docker-containers
在此之后,我可以-e DISPLAY=$DISPLAY
通过传递给docker run
命令的选项从 docker 获取绘图 GUI 到本地机器的显示器(即 mint 服务器)。我还可以通过 ssh-X
选项连接到服务器以获取xeyes
客户端的窗口。
但是,如果我使用-X
选项SSH 进入服务器并登录到使用 运行的容器-DISPLAY=localhost or client IP
,我仍然无法获得客户端计算机的绘图。
我知道我可以使用 VNC 来解决它。但是,如何正确使用 X11 转发来做到这一点?
Rub*_*ben 14
您需要解决这些问题才能使其正常工作:
有关如何完成的详细信息,请参阅 StackOverflow 上的我的问题(和答案):https : //stackoverflow.com/questions/48235040/run-x11-application-in-a-docker-container-reliably-on-a -server-connected-via-ssh
小智 8
要在远程 docker 容器中运行 GUI 应用程序,您不需要从服务器进行 X11 转发。\n您可以让X11服务器监听TCP:6000,并使用 运行远程docker容器-e DISPLAY=$IP:0
,其中$IP是运行X11服务器的计算机的IP地址。
我已经使用 XQuarz 在 macbook 上运行它,以在远程 ubuntu 上显示远程 docker 容器:
\n\n在 macbook\n 上使用 socat 使 X11 服务器侦听 TCP,请按照在 Mac OS X 上使用 Docker 运行 GUI\xe2\x80\x99s 进行操作。
在远程ubuntu上
docker run -it --rm -e DISPLAY=$macbook_ip:0 fr3nd/xeyes\n
Run Code Online (Sandbox Code Playgroud)\n\n然后 macbook 上显示 xeyes
\n 归档时间: |
|
查看次数: |
37480 次 |
最近记录: |