如何通过linux代理在docker容器中转发eclipse?
我有一个Eclipse实例运行在linux Ubuntu上的docker容器中。此容器在CentOS主机上运行,没有物理显示,我想通过CentOS主机将X11从docker容器转发到我的笔记本电脑(运行windows)。 Docker容器运行于如何通过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从主机转发到我
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插槽吗?