【问题标题】:How to forward eclipse in a docker container through a linux proxy?如何通过linux代理在docker容器中转发eclipse?
【发布时间】:2016-05-06 23:43:37
【问题描述】:

我有一个 Eclipse 实例在 docker 容器中的 linux Ubuntu 上运行。这个容器在没有物理显示器的 CentOS 主机上运行,​​我想通过 CentOS 主机将 X11 从 docker 容器转发到我的笔记本电脑(运行 windows)。 Docker 容器运行与

docker run  --name docker-eclipse -p 5000:5000/tcp -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix 

虽然我可以毫无问题地将 X11 从主机转发到我的笔记本电脑,但我无法在容器内启动 eclipse,因为它以“无法打开显示:”而死。

我想要的是

笔记本电脑 --> 远程主机 --> docker 容器运行 eclipse

最好的方法是什么?

【问题讨论】:

  • 你能在 Docker 中运行xeyes 吗?您是否尝试在本地运行此命令?
  • X11 转发在主机上工作,所以 xeyes 也能工作。它在 docker 容器内不起作用。
  • 对不起,我的意思是“你能用 Docker 运行 xeyes 吗?”不仅在远程主机上。用户是否运行 eclipse root?您是否尝试使用 Docker 在本地运行它? (去掉ssh转发)
  • docker 容器内的 xeyes 失败并显示“错误:无法打开显示:localhost:12.0”。
  • 这个测试是在本地完成的(没有远程)?用户是否运行 eclipse root?用这么少的细节来帮助你有点困难。

标签: linux ssh docker centos x11


【解决方案1】:

可能工作(server 假定为运行 Docker 的远程主机,laptop 假定为您想要 GUI 的本地主机):

  1. 连接到server
  2. 从服务器通过sshfs 挂载laptop 的.X11 套接字:user@server:$sshfs laptop:/tmp/.X11-unix /tmp/.X11-unix
  3. 使用user@laptop:ssh -X server docker run --name docker-eclipse -p 5000:5000/tcp -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix 之类的内容启动容器。

我不确定这是否可行,并且它感觉这样做不是最干净的方式,但是您想要执行的操作非常....不寻常(尽管它会是真的很棒!!)。

评论您的反馈!

【讨论】:

  • 我的笔记本电脑运行 Windows,它是否也适用于 X11 插座?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-08-17
  • 2015-12-30
  • 2021-07-27
  • 1970-01-01
  • 1970-01-01
  • 2019-05-09
  • 1970-01-01
相关资源
最近更新 更多