当前位置:  开发笔记 > 编程语言 > 正文

用于docker GUI应用程序的xhost命令(Eclipse)

如何解决《用于dockerGUI应用程序的xhost命令(Eclipse)》经验,为你挑选了1个好方法。



1> BMitch..:

[ -d ~/workspace ] || mkdir ~/workspace

如果主目录尚不存在,则会在主目录中创建工作空间目录.

xhost local:root

这允许本地计算机上的root用户连接到X窗口显示.

docker run -i --net=host --rm -e DISPLAY -v $HOME/workspace/:/workspace/:z docbill/ubuntu-umake-eclipse

这将运行具有以下选项的容器:

-i:交互式,在运行此命令后输入的类型是由容器内启动的进程接收的.

--net=host:主机网络,容器不会与隔离的网络堆栈一起启动.相反,主机的所有网络接口都可以在容器内直接访问.

--rm在退出时自动清理容器.否则容器将保持停止状态.

-e DISPLAY将DISPLAY环境变量从主机传递到容器中.这告诉GUI程序将其输出发送到何处.

-v $HOME/workspace/:/workspace/:z 将工作区文件夹从主机上的主目录映射到容器内的/ workspace文件夹,并启用selinux共享设置.

docbill/ubuntu-umake-eclipse运行此图像,由docker hub上的用户docbill创作(任何人都可以在此处创建一个帐户).这不是docker的官方图片,而是社区提交的图片.

从这些选项中,此命令很可能是为在RHEL或CentOS Docker主机上运行的用户设计的.它不适用于Docker for Windows或Docker for Mac,但应该适用于其他Linux版本.

我已经使用类似的命令来运行带有GUI的容器,但是没有xhost和主机网络.相反,我只是将X windows socket(/tmp/.X11-unix)直接映射到容器:

docker run -it --rm -e DISPLAY -u `id -u` \
  -v /tmp/.X11-unix:/tmp/.X11-unix \
  -v /etc/localtime:/etc/localtime:ro \
  my_gui_image

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有