1

在我的 OSX 上,我可以使用 Xqautz 作为以下命令成功显示来自 docker 容器的 gui 界面:

docker run -v /tmp/.X11-unix/X0:/tmp/.X11-unix/X0 -e DISPLAY=$DISPLAY --privileged -ti MY_OWN_DOCKER_IMAGE bash

但是,我想将 MY_OWN_DOCKER_IMAGE 放入 docker-machine(称为默认值)并在我的 OSX 上显示 gui 界面。

我的场景如下:

  1. 在默认 VM 内运行的容器内执行 gui 应用程序。
  2. 将 GUI 视图从容器传递到默认 VM。
  3. 将 GUI 视图从默认 VM 传递到 OSX。
  4. GUI 界面显示在我的 macbook 上!

我在这里遇到一个问题:当我尝试在默认 VM 中执行“docker run MY_OWN_DOCKER_IMAGE”时,如何设置“-v”和“-e”参数?还是有其他解决方案?

4

1 回答 1

0

我在这里找到了解决方案:X11 forwarding doesn't work when image runs in docker machine but it works fine if the image is run w/oa docker machine

-v 应该像: -v /var/run/docker.sock:/var/run/docker.sock

但是应该给-e DISPLAY一个ip(使用命令“xhost”从XQuartz检查它)

现在我可以从运行在 docker 机器 VM 中的容器中显示 gui 界面!

于 2019-04-02T11:39:14.207 回答