如何通过Linux代理在docker集装箱中转发日食?

我有一个在Docker容器中的Linux Ubuntu上运行的Eclipse实例。 这个容器在没有物理显示器的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到我的laptp没有问题,我无法启动容器内的eclipse,因为它死于“无法打开显示:”。

我想要的是

笔记本电脑 – >远程主机 – >docker容器运行日食

什么是最好的方法来做到这一点?

可能会起作用( 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启动容器user@laptop:ssh -X server docker run --name docker-eclipse -p 5000:5000/tcp -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix

我不确定这样做会不会奏效,而且它并不觉得最干净的方法,但是你想要执行的是相当不寻常的(虽然它会是非常棒的!)。

评论您的反馈!