Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过linux代理在docker容器中转发eclipse?_Linux_Ssh_Docker_Centos_X11 - Fatal编程技术网

如何通过linux代理在docker容器中转发eclipse?

如何通过linux代理在docker容器中转发eclipse?,linux,ssh,docker,centos,x11,Linux,Ssh,Docker,Centos,X11,我有一个Eclipse实例运行在linux Ubuntu上的docker容器中。此容器在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实例运行在linux Ubuntu上的docker容器中。此容器在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,因为它会随着“无法打开显示”而消亡

我想要的是

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


最好的方法是什么?

这可能会起作用(
服务器
被假定为运行Docker的远程主机,
笔记本电脑
被假定为需要GUI的本地主机):

  • 连接到
    服务器
  • 从服务器上通过
    sshfs
    笔记本电脑的.X11插槽安装:
    user@server:$sshfs笔记本电脑:/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
  • 我不确定这是否会起作用,而且感觉这不是最干净的方式,但你想要执行的是相当。。。。不寻常的(尽管这将是一件非常棒的事情!!)


    评论你的反馈

    可能起作用(
    服务器
    假定为运行Docker的远程主机,
    膝上型电脑
    假定为需要GUI的本地主机):

  • 连接到
    服务器
  • 从服务器上通过
    sshfs
    笔记本电脑的.X11插槽安装:
    user@server:$sshfs笔记本电脑:/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
  • 我不确定这是否会起作用,而且感觉这不是最干净的方式,但你想要执行的是相当。。。。不寻常的(尽管这将是一件非常棒的事情!!)


    评论你的反馈

    您是否能够从Docker内部运行
    xeyes
    ?您是否尝试在本地运行此命令?X11转发在主机上工作,因此xeyes也可以工作。它在docker容器中不起作用。对不起,我的意思是“您是否能够使用docker从运行
    xeyes
    ”,而不仅仅是在远程主机上。用户是否正在运行eclipseroot?您是否尝试使用Docker在本地运行它?(删除ssh转发)docker容器内的xeyes失败,出现“错误:无法打开显示:localhost:12.0”。此测试是否在本地完成(没有远程服务器)?用户是否正在运行eclipseroot?在这么少的细节上帮助你有点困难。你能在Docker内部运行
    xeyes
    ?您是否尝试在本地运行此命令?X11转发在主机上工作,因此xeyes也可以工作。它在docker容器中不起作用。对不起,我的意思是“您是否能够使用docker从运行
    xeyes
    ”,而不仅仅是在远程主机上。用户是否正在运行eclipseroot?您是否尝试使用Docker在本地运行它?(删除ssh转发)docker容器内的xeyes失败,出现“错误:无法打开显示:localhost:12.0”。此测试是否在本地完成(没有远程服务器)?用户是否正在运行eclipseroot?在这么少的细节上帮助你有点困难。我的笔记本电脑运行Windows,它也可以使用X11插槽吗?我的笔记本电脑运行Windows,它也可以使用X11插槽吗?