Перенаправление X11 из контейнера докеров на удаленном сервере

Я столкнулся с аналогичными проблемами с той же конфигурацией Virtualbox с Kali Linux (2016.2). Интернет-соединение работало нормально в течение месяца и после того, как оно прекратилось ..

Я dhclient показал, что "smbd.service неактивен" после перезапуска службы smbd все снова в порядке.

8
09.11.2017, 00:44
3 ответа

Чтобы запустить приложение с графическим интерфейсом в удаленном док-контейнере, пересылка X11 с сервера не требуется. Вы можете заставить сервер X11 прослушивать TCP :6000 и запускать удаленный док-контейнер с помощью -e DISPLAY=$IP:0, где $IP — это IP-адрес компьютера, на котором запущен сервер X11.

У меня на macbook с XQuarz работает отображение удаленного док-контейнера на удаленном ubuntu:

docker run -it --rm -e DISPLAY=$macbook_ip:0 fr3nd/xeyes

Затем на макбуке отображаются xeyes

5
25.03.2020, 01:47

Контейнер:

cp /etc/ssh/sshd_config /etc/ssh/sshd_config_bak

sed -i "s/^.*X11Forwarding.*$/X11Forwarding yes/" /etc/ssh/sshd_config 

sed -i "s/^.*X11UseLocalhost.*$/X11UseLocalhost no/" /etc/ssh/sshd_config 

grep "^X11UseLocalhost" /etc/ssh/sshd_config || echo "X11UseLocalhost no" >> /etc/ssh/sshd_config 

Клиент:

ssh -X user@ip 

Ссылка:

udkyo/Dockerfile

0
26.03.2020, 01:14

Модуль Python dockerx предназначен для решения этой проблемы.

Вы можете установить его работающим:

python3 -m pip install dockerx --user

Чтобы запустить контейнер с поддержкой X11:

$ python3 -m dockerx.run --image ubuntu --command 'sleep infinity'

To get a container terminal run:  docker exec -it b05bd722477e /bin/bash
To kill the container run:        docker kill b05bd722477e
To remove the container run:      docker rm b05bd722477e

$ docker exec -it b05bd722477e /bin/bash
root@b05bd722477e:/# apt update && apt install -y x11-apps
root@b05bd722477e:/# xclock

После этого вы должны увидеть xclockна своем экране.

Если вы хотите, чтобы поддержка CUDA (требовала установки Docker NVIDIA Runtime в вашей системе ), запустите контейнер, используя:

$ python3 -m dockerx.run --image nvidia/cuda:11.0-base --nvidia 1 --command 'sleep infinity'

dockerx требует, чтобы SSH-сервер, работающий на удаленном компьютере, имел параметр X11UseLocalhost no, установленный в /etc/ssh/sshd_config.

Для получения дополнительной информации посетите GitHub модуля dockerx Python .

2
04.03.2021, 16:20

Теги

Похожие вопросы