gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 09:09:22 25 4
gpt4 key购买 nike

我正在考虑运行 GUI app在 docker 。我听说这会因 Xserver 暴露而引发安全问题。我想知道以下每个步骤都在做什么,特别是 xhost local:root:

  • [ -d ~/工作区] || mkdir ~/工作区
  • xhost local:root
  • docker run -i --net=host --rm -e DISPLAY -v $HOME/workspace/:/workspace/:z docbill/ubuntu-umake-eclipse

最佳答案

  • [ -d ~/workspace ] || mkdir ~/工作区

这会在您的主目录中创建一个工作区目录(如果它尚不存在)。

  • xhost local:root

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

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

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

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

从选项来看,这条命令很可能是为在 RHEL 或 CentOS Docker 主机上运行的用户设计的。它不适用于 Windows 版 Docker 或 Mac 版 Docker,但应该适用于其他 Linux 变体。

我使用类似的命令通过 GUI 运行我的容器,但没有 xhost 和主机网络。相反,我只是将 X windows 套接字 (/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

关于eclipse - docker GUI 应用程序的 xhost 命令 (Eclipse),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43015536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com