2017-12-23 32 views
0

을의 도커 원격 용기 (KDE는, XFCE는, 그놈은 중요하지 않습니다) 완전한 데스크탑 환경을 시작하는 방법
. GUI 응용 프로그램이 아닌 전체 데스크톱을 실행하는 방법에 대한 내가 인터넷을 통해 발굴 된도커 실행 데스크탑 환경 문제는 가장 분명하다

및 관련 주제에 대한 질문의 therearelots하지만 동일하지, 모두.

내가 발견 무엇 :

  • 필요한 실행 Xvfb가는
  • 어떻게 든 예를 들어, 실행 그 프레임 버퍼
  • 에서하는 Xfce는 x11vnc 공유 할 수 있도록 허용하는 X 환경

를 실행하지만 난 항상 어떤 오류를 받고, 실제로 여기 붙어있어 :

... (EE) Invalid screen configuration 1024x768 for -screen 0 
... Cannot open /dev/tty0 (No such file or directory) 

당신은 주문 가까이하고 일부 Dockerfile 라인을 제공 할 수 목표?

답변

0

내가 찾고 있었던 것입니다 가장 간단한 형태의 데스크탑 Docker에있는 :

FROM ubuntu 
RUN apt-get update 
RUN apt-get install xfce4 -y 
RUN apt-get install xfce4-goodies -y 
RUN apt-get purge -y pm-utils xscreensaver* 
RUN apt-get install wget -y 

EXPOSE 5901 

RUN wget -qO- https://dl.bintray.com/tigervnc/stable/tigervnc-1.8.0.x86_64.tar.gz | tar xz --strip 1 -C/
RUN mkdir ~/.vnc 
RUN echo "123456" | vncpasswd -f >> ~/.vnc/passwd 
RUN chmod 600 ~/.vnc/passwd 


CMD ["/usr/bin/vncserver", "-fg"] 

불행히도 x11vncxvfb으로 분류 할 수 없습니다. 그러나 TigerVNC이 훨씬 더 좋았습니다.

이 샘플은 xfce gui가있는 컨테이너를 생성하고 vncserver 및 123456 암호를 실행합니다. ~/.vnc/xstartup을 수동으로 덮어 쓸 필요가 없습니다. TigerVNC가 기본적으로 X 서버를 시작하기 때문에! 기본적으로이 화면에 맞게 크기를 조정하기 때문에 또한

vncviewer -AutoSelect 0 -QualityLevel 9 -CompressLevel 0 192.168.1.100:5901 

당신은 화면 해상도에 대해 걱정하지 수 :

sudo docker run --rm -dti -p 5901:5901 3ab3e0e7cb 

vncviewer 거기 연결하려면 :

서버를 실행하려면 F8 vncviewer menu

issue with ipc_channel_posix가 발생할 수도 있습니다 (크롬 및 기타 브라우저는 제대로 작동)이 실행 컨테이너를 제거하려면 memory sharing :

docker run -d --shm-size=2g --privileged -p 5901:5901 image-name 
1

x11docker allows to run desktop environments as well as single GUI applications in docker.

당신이 목표에 도달하기 위해 일부 Dockerfile 라인을 줄 수 있을까요?

.

x11docker는 컨테이너 분리를 유지하기 위해 많은 설정을 수행하고 하드웨어 가속 또는 펄스 오디오 사운드와 같은 몇 가지 추가 옵션을 제공합니다.예 :

x11docker --desktop x11docker/lxde 

x11docker도 xpra와 SSH 설정을위한 network setups with SSH, VNC and HTML5

예를 지원하는이 :

클라이언트 시스템에서
read Xenv < <(x11docker --xdummy --display=30 x11docker/lxde pcmanfm) 
echo $Xenv && export $Xenv 
# replace "start" with "start-desktop" to forward a desktop environment 
xpra start :30 --use-display --start-via-proxy=no 

,

xpra attach ssh:HOSTNAME:30 # replace HOSTNAME with IP or host name of ssh server 

와 연결 x11docker없이

: 호스트의 중첩 된 X 서버로 Xephyr를 사용

아주 짧은 설정은 다음과 같습니다

Xephyr :1 
docker run -v /tmp/.X11-unix/X1:/tmp/.X11-unix/X1:rw \ 
      -e DISPLAY=:1 \ 
      x11docker/xfce 

하는 Xfce 데스크탑과 짧은 Dockerfile :

FROM debian:stretch 
ENV DEBIAN_FRONTEND noninteractive 
RUN apt-get update && apt-get install -y --no-install-recommends xfce4 dbus-x11 
CMD startxfce4 
+0

위대한'x11docker' 프로젝트! 답변을 주셔서 감사합니다.하지만 불행히도 ** 원격 ** vnc 연결이 필요합니다. –

+0

x11docker를 사용하여 VNC 연결을 설정할 수 있습니다. 답변을 편집했습니다. , 나는 VNC 경험이 없다. 이 디스크 비교 : https://github.com/mviereck/dockerfile-x11docker-xfce-wine-playonlinux/issues/1. xpra를 사용한 SSH 설정은 상당히 잘 작동하며 더 많은 테스트를 거칩니다. – mviereck