在 Mac 上通过 Docker 运行 GUI 应用程序

在 Mac 上通过 Docker 运行 GUI 应用程序

我正在尝试在 docker 内部运行一个 GUI 应用程序(使用 python 并显示 matplotlib 图)。

经过一番搜索,似乎启动带有 X11 转发的 docker 容器的方法是使用以下运行命令:

IP=$(ipconfig getifaddr en0)

xhost + $IP

docker run --rm -it \
    --network=host \
    --hostname $(hostname) \
    -e DISPLAY=$IP:0 \
    -v /tmp/.X11-unix:/tmp/.X11-unix \
    --user root \
    docker_image \
    bash

这有效,但是,大约 10 分钟后,我收到以下错误,并且我打开的任何 GUI 应用程序都会关闭。此后,文本不再显示在终端中,如果我按下enterPS1 提示符,[ins] (DOCKER) RNNs $则只会在同一行上重复:

[ins] (DOCKER) RNNs $
XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server "192.168.105.55:0"
      after 2218 requests (2216 known processed) with 0 events remaining.
[ins] (DOCKER) RNNs $ [ins] (DOCKER) RNNs $ [ins] (DOCKER) RNNs $ [ins] (DOCKER) RNNs $

有人知道这个问题的原因/解决办法吗?

Linux 发行版:Ubuntu 18.04
Mac 发行版:OSX 10.14.2
Xquartz:2.7.11

相关内容