Запустите приложение GUI в MacOS 10 в Docker

2

Я хотел бы запустить приложение в контейнере Docker, который может запустить графический интерфейс. В этом руководстве рекомендуется использовать XQuartz. После запуска XQuartz выполните следующее:

ip=$(ifconfig en0 | grep inet | awk '$1=="inet" {print $2}')
xhost + $ip
docker run -d --name firefox -e DISPLAY=$ip:0 -v /tmp/.X11-unix:/tmp/.X11-unix jess/firefox

Это дает вашему локальному устройству разрешение на доступ к хост-серверу. Запустив выше, я получаю ошибку:

cannot connect to X server 10.0.0.69:0
Магид
источник
Пожалуйста, опишите, что вы делаете, и что вы пытались решить проблему. Ваш вопрос слишком короток в деталях.
Тони Уильямс

Ответы:

5

Я не использовал правильный номер дисплея. В приведенном выше руководстве используется номер дисплея по умолчанию :0.

Найдите правильный, запустив:

  display_number=`ps -ef | grep "Xquartz :\d" | grep -v xinit | awk '{ print $9; }'`

Затем измените команду запуска Docker, чтобы включить флаги:

-e DISPLAY=$ip:$display_number \
-v /tmp/.X11-unix:/tmp/.X11-unix \
Магид
источник