Running X11 GUI in Docker

In Linux(Ubutu 14.04)

FROM ubuntu:14.04 RUN apt-get update && apt-get install -y firefox # Replace 1000 with your user / group id RUN export uid=1000 gid=1000 && \     mkdir -p /home/dev && \     echo "dev:x:${uid}:${gid}:Developer,,,:/home/dev:/bin/bash" >> /etc/passwd && \     echo "dev:x:${uid}:" >> /etc/group && \     echo "dev ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/dev && \     chmod 0440 /etc/sudoers.d/dev && \     chown ${uid}:${gid} -R /home/dev USER dev ENV HOME /home/dev CMD /usr/bin/firefox

In Linux(Ubutu 16.04 and later)

FROM ubuntu:16.04
RUN apt-get update && apt-get install -y firefox
ENV USERNAME dev
ENV HOME /home/$USERNAME
RUN useradd -m $USERNAME && \
        echo "$USERNAME:$USERNAME" | chpasswd && \
        usermod --shell /bin/bash $USERNAME && \
        usermod -aG sudo $USERNAME && \
        mkdir /etc/sudoers.d && \
        echo "$USERNAME ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/$USERNAME && \
        chmod 0440 /etc/sudoers.d/$USERNAME && \
        # Replace 1000 with your user/group id
        usermod  --uid 1000 $USERNAME && \
        groupmod --gid 1000 $USERNAME
RUN apt-get install -y sudo
USER dev
ENV HOME /home/dev
CMD /usr/bin/firefox

Host machine(Linux)

xhost +

Run docker cmd

docker run [--rm [-it]|-d] \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e DISPLAY \
imagename [cmd]

 

上一篇:linux-Motif Widget Toolkit的Perl绑定


下一篇:Linux-Wayland合成器不能像X上那样装饰窗户吗?