首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于docker应用程序的xhost命令(Eclipse)

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

Stack Overflow用户
提问于 2017-03-25 10:59:31
回答 1查看 15.8K关注 0票数 10

我想在码头上运行一个GUI应用程序。我听说这会引起安全问题,因为Xserver被公开了。我想知道在以下每一个步骤中正在做什么,特别是xhost local:root

  • -d ~/工作空间\ mkdir ~/工作区
  • xhost local:root
  • docker运行-i --net=host -rm -e DISPLAY -v $HOME/工作间/:工作区/:z docbill/ubuntu eclipse
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-25 13:06:00

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

这将在主目录中创建一个工作区目录,如果它还不存在的话。

  • xhost local:root

这允许本地计算机上的根用户连接到X windows显示器。

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

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

  • -i:在运行此命令后输入的交互式输入由容器内启动的进程接收。
  • --net=host:主机网络,容器不是用孤立的网络堆栈启动的。相反,主机的所有网络接口都可以在容器内直接访问。
  • --rm在退出时会自动清除容器。否则,容器将保持停止状态。
  • -e DISPLAY将显示环境变量从主机传递到容器中。这将告诉GUI程序将它们的输出发送到哪里。
  • 在启用selinux共享设置的情况下,-v $HOME/workspace/:/workspace/:z将工作空间文件夹从主机上的主目录映射到容器内的/workspace文件夹。
  • docbill/ubuntu-umake-eclipse运行这个映像,它是由用户docbill在码头枢纽上创建的(任何人都可以在这里创建一个帐户)。这不是来自码头的官方图片,而是社区提交的图片。

从选项中,此命令最有可能是为在RHEL或CentOS Docker主机上运行的用户设计的。它不适用于Windows的Docker或Mac的Docker,而应该在Linux的其他版本上工作。

我使用类似的命令使用GUI运行我的容器,但是没有xhost和主机网络。相反,我刚刚在X windows套接字(/tmp/.X11-unix)中直接映射到容器:

代码语言:javascript
复制
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
票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43015536

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档