Как включить общий доступ к удаленному рабочему столу (например, VNC-сервер) для ОС, работающей в док-контейнере - PullRequest
0 голосов
/ 03 октября 2019

Мне удалось вытащить образ centos из концентратора докеров -

docker pull centos

Затем я выполнил команду запуска, чтобы запустить контейнер в интерактивном режиме -

docker run -i -t centos

Послекоторый я могу взаимодействовать с centos, работающим внутри контейнера через терминал, как -

[root@640fc383c7b4/]# other commands here..

Теперь я хотел бы знать, может ли взаимодействовать с centos внутри контейнера удаленно, какиспользуя VNC Viewer, как я делал бы с другими ОС, работающими внутри виртуальных машин.

Я попытался установить vncserver с командой yum -y install tiger-vncserver и запустить команду vncserver после этого, которая дает -

[root@640fc383c7b4 home]# vncserver

New '640fc383c7b4:2 ()' desktop is 640fc383c7b4:2

Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/640fc383c7b4:2.log

Теперь я попытался подключиться к указанному порту 2 с IP-адресомконтейнера, но он не работал.

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 03 октября 2019

Чтобы подключиться к работающему контейнеру с любым портом, вам необходимо отобразить его во время команды запуска, а затем получить к нему доступ через IP-адрес хоста или localhost.

Например:

Если вы используете httpсерверу, который перечисляет порт 8080 внутри контейнера, чтобы иметь возможность доступа к нему по 8080 на вашей машине, вам необходимо отобразить его следующим образом 8080:8080 с правой стороны - порт контейнера, с левой стороны - порт хоста.

Команда будет выглядеть следующим образом:

docker run -dit --name my-http-server-instance -p 8080:8080 my-http-server:latest

То же самое относится ко всем другим портам.

В вашем случае

  • Возможно, порт не2 поэтому вам нужно найти порт сервера VNC (возможно, 5900).
  • Не следует использовать контейнер, так как этот контейнер не является виртуальной машиной, и, возможно, он способен это делать, он не предназначен дляиспользуйте этот способ, поэтому рассмотрите возможность его использования из командной строки для подключения контейнера с помощью ssh.
...