Я столкнулся с аналогичными проблемами с той же конфигурацией Virtualbox с Kali Linux (2016.2). Интернет-соединение работало нормально в течение месяца и после того, как оно прекратилось ..
Я dhclient
показал, что "smbd.service неактивен" после перезапуска службы smbd все снова в порядке.
Чтобы запустить приложение с графическим интерфейсом в удаленном док-контейнере, пересылка X11 с сервера не требуется. Вы можете заставить сервер X11 прослушивать TCP :6000 и запускать удаленный док-контейнер с помощью -e DISPLAY=$IP:0
, где $IP — это IP-адрес компьютера, на котором запущен сервер X11.
У меня на macbook с XQuarz работает отображение удаленного док-контейнера на удаленном ubuntu:
На макбуке используйте socat, чтобы заставить сервер X11 прослушивать TCP, следуйте Запуск графического интерфейса с Docker в Mac OS X .
На удаленной Ubuntu
docker run -it --rm -e DISPLAY=$macbook_ip:0 fr3nd/xeyes
Затем на макбуке отображаются xeyes
Контейнер:
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
Ссылка:
Модуль 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 .