X11 encaminhamento de um contêiner docker no servidor remoto

2

Eu quero ssh no meu servidor linux mint 18 (rodando o X11) e logar em um contêiner do docker e ter plots de iPTLD matplotlib encaminhados para o cliente local (também mint). Tudo na rede local.

A pergunta mais próxima que encontrei foi: link

Depois disso, eu poderia obter uma GUI da plotagem da janela de encaixe para a exibição da máquina local (por exemplo, o servidor mint) pela opção -e DISPLAY=$DISPLAY passada para o comando docker run . Eu também posso ssh com -X opção para o servidor para obter xeyes janela para o cliente.

Mas se eu ssh no servidor com a opção -X e o login no contêiner for executado com -DISPLAY=localhost or client IP , ainda não consigo obter um gráfico para a máquina cliente.

Eu sei que eu poderia usar o VNC para contornar isso. Mas, como posso fazer isso com o encaminhamento do X11 corretamente?

    
por otterb 08.11.2017 / 23:44

1 resposta

2

Você precisa resolver essas coisas para que funcione:

  1. Que o aplicativo X pode encontrar o servidor X
    • Para o SSH, é necessário que haja um túnel ("ssh -X" e "X11Forwarding yes" em / etc / ssh / sshd_config)
    • O endereço deve estar em $ DISPLAY (usando -e). Você deve substituir "localhost" pelo endereço IP real do host do Docker visto a partir do contêiner do Docker.
  2. Que o aplicativo X está autorizado a falar com o servidor X
    • Propague o cookie mágico xauth para o contêiner do Docker
    • Abra as portas de firewall do host do Docker para o contêiner do Docker para a porta X11
    • Verifique se o servidor SSH está configurado para aceitar conexões TCP X11 em um IP remoto.

Veja minha pergunta (e resposta) aqui no StackOverflow para detalhes de como isso pode ser feito: link

    
por 13.01.2018 / 10:06

Tags