Запуск приложений с графическим интерфейсом в док-контейнере с хостом MacBookPro

Я пытался следовать инструкциям на https://learning-continuous-deployment.github.io/docker/images/dockerfile/2015/04/22/docker-gui-osx/ о запуске приложений с графическим интерфейсом в док-контейнере внутри хост MacBookPro (с использованием инструментов Docker).

Я создал простой Docker-контейнер, используя Fedora 23 и с установленным Firefox.

Я пытаюсь запустить Firefox, и примерно через минуту я получаю следующую ошибку:

Unable to init server: Broadway display type not supported: 192.168.57.3:0
Error: cannot open display: 192.168.57.3:0

У кого-нибудь есть подсказка, что означает ошибка и / или как ее исправить?

4 ответа

Решение

Я решил проблему, заменив мой MacBookPro на ноутбук с Linux, и теперь он работает.

На Mac вы можете найти следующие шаги полезными:

  1. Установить XQuartz
  2. Откройте его, перейдите в настройки> Безопасность и установите флажок, чтобы разрешить подключения от сетевых клиентов.
  3. перезагружать
  4. Запустите XQuartz (из папки приложений или с помощью open -a XQuartz)
  5. Разрешить входящие соединения с вашего IP с xhost + $IP (см. примечание 1)
  6. Запустите firefox в вашем док-контейнере (см. Примечание 2)

Примечание 1: Вот хитрый трюк для получения вашего IP-адреса:

export IP=$(ifconfig en0 | grep inet | awk '$1=="inet" {print $2}') 

Примечание 2: и пример команды docker run для запуска firefox

docker run -it -e DISPLAY=$IP:0 -v /tmp/.X11-unix:/tmp/.X11-unix <image> firefox

Перезагрузка моего ноутбука устранила проблему для меня.

Я видел ту же ошибку и, к сожалению, перезагрузка не решила проблему для меня. Тем не менее, я смог заставить его работать, смонтировав и указав на мой локальный файл.Xauthority:

IP=$(ifconfig en0 | grep inet | awk '$1=="inet" {print $2}')
docker run --rm  --name firefox -e DISPLAY=$IP:0 -e XAUTHORITY=/.Xauthority --net host -v /tmp/.X11-unix:/tmp/.X11-unix -v ~/.Xauthority:/.Xauthority  jess/firefox

Конечно, это предполагает, что ваш материал XQuarts/xhost правильно настроен в соответствии с этим ответом

Другие вопросы по тегам