2016-06-03 6 views
0

В настоящее время я запускаю свое приложение в контейнере вместе с Xvfb и X11VNC. Все это прекрасно работает, и я вижу GUI через любого клиента VNC. Тем не менее, я хотел бы запустить Xvfb и X11VNC в контейнере A, и мое приложение в контейнере B.Docker: запущенное приложение с удаленным X-сервером

Контейнер A запускается, например. Докер запустить -IT --rm --name x11 -p 6000-6100: 6000-6100 myimagewithXvfb

В BI настроен на отображение = A, чтобы указать на X-сервере (Xvfb) в контейнере А.

В начало BI, например xeyes, но я получаю ошибку: корень @ a1ec4b67e98f:/# xeyes Ошибка: Не удается открыть дисплей: 10.1.0.1 корень @ a1ec4b67e98f:/# эхо $ DISPLAY 10.1.0.1

Кроме того, используя 10.1. 0,1: 0 не имеет значения.

В любом случае, вопрос в том, как заставить это работать, если возможно вообще?

+0

Вы нашли решение? – zaratustra

ответ

0

Без дополнительной информации трудно сказать наверняка, но я предполагаю, что ваша проблема связана с полномочиями X. Вы можете позволить клиентам подключаться без контроля доступа, используя Xhost команду:

A> xhost + 
B> export DISPLAY=10.1.0.1:0 
B> xeyes 

Более безопасный способ находится на контейнере SSH для контейнера B, как это:

A> ssh -Y B 
B> xeyes 

(Здесь вы не» t необходимо вручную установить переменную DISPLAY env. как она установлена ​​SSH автоматически.)

+0

xhost + решил. Хотя убедитесь, что это сделано ПОСЛЕ x11vnc. – bergtwvd

+0

@bergtwvd Пожалуйста, примите ответ. Ta. – FrodeTennebo

Смежные вопросы