рдПрдХ рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди

рдХрд┐рд╕ рд▓рд┐рдП? рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╡рд┐рдЪрд╛рд░ рд▓рдЧрд╛рддрд╛рд░ рдореЗрд░реЗ рдкрд╛рд╕ рдЖрддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдореИрдВ рддреБрд░рдВрдд рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдХрд╛рд░реНрдп рдХреЗрдВрджреНрд░ рд╣рдореЗрд╢рд╛ рд╣рд╛рде рдореЗрдВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╣рд░ рдЪреАрдЬ рдХреЗ рд▓рд┐рдП рдЖрдИрдбреАрдИ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рд╣рд╛рде рдореЗрдВ рдЖрддрд╛ рд╣реИред рдирддреАрдЬрддрди, рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдЕрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд▓рдЧрд╛, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдмрдирд╛рдП рд░рдЦрдирд╛ рдФрд░ рдЕрджреНрдпрддрди рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рдЧрдпрд╛ред

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЗрд╕ рддрд░рд╣ рдХреЗ "рдиреЛрдЯрдмреБрдХ" рдХреЛ рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рд░рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдФрд░ рдЗрд╕реЗ рджреИрдирд┐рдХ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рд╕рднреА рд╕рдВрдЪрд┐рдд рдХрдЪрд░реЗ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдФрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рджреВрд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред

рдЫрд╡рд┐

рдирддреАрдЬрддрди, рдЗрд╕ рдкрд░ рд╕рдВрджреЗрд╣ рдХрд┐рдП рдмрд┐рдирд╛, рдЙрд╕рдиреЗ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рд╣реА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЙрдкрдХрд░рдг рдмрдирд╛рдпрд╛: рдПрдХ рдиреЛрдЯрдмреБрдХ, рдПрдХ рдкрд░реАрдХреНрд╖рдг рд╕рд╛рдЗрдЯ, рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдлреЛрди рдХреНрдпрд╛ рдирд╣реАрдВ рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╕реИрдВрдбрдмреЙрдХреНрд╕, рдФрд░ рдЙрди рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ рдЬреАрдпреВрдЖрдИ рдФрд░ рдХрдИ рдЕрдиреНрдп рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдЖрджрд┐ рдФрд░ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдРрд╕реЗ рдХрдВрдЯреЗрдирд░ рдмрдирд╛рдиреЗ рдХреА рд╡рд┐рдзрд┐ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрдВрдЯреЗрдирд░ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЕрдкрдирд╛ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред рдФрд░ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдЗрд╕рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ред рдХреМрди рдЦреБрдж рдХреЛ рдмрдирд╛рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд▓реЗрдиреЗ рдФрд░ рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рдлрд┐рд░ рд▓реЗрдЦ рдХреЗ рдирд┐рдЪрд▓реЗ рднрд╛рдЧ рдореЗрдВ рддреИрдпрд╛рд░ рдЪрд┐рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдВрдХ рд╣реЛрдВрдЧреЗред

рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо


рдХреЛрдИ рднреА рд▓рд┐рдирдХреНрд╕ рдХрд░реЗрдЧрд╛ред рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореИрдВ рд╕реБрдВрджрд░ рдУрдкрдирд╕реБрд╕реЗ рдХреЛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреА рдореЗрдореЛрд░реА рдЦрдкрдд рдХреА рддреБрд▓рдирд╛ рд╕реЗрдВрдЯреЛрд╕ рдХреЗ рд╕рд╛рде рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдмрд╛рдж рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдПрдХ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЬрд┐рддрдиреА рдХрдо рдореЗрдореЛрд░реА рд╣реЛрддреА рд╣реИ, рдЙрддрдиреА рд╣реА рдЖрдк рдЗрд╕рдХреА рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдХреЛ рдмрдЪрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдЖрдЗрдП рдПрдХ dockerfile рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ:

FROM centos:7

рджреВрд░рд╕реНрде рдкрд╣реБрдБрдЪ


рдЙрд╕ рдкрд░ рдХрдВрдЯреЗрдирд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ VNC рд░рд┐рдореЛрдЯ рдПрдХреНрд╕реЗрд╕ рд╕рд░реНрд╡рд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рд▓рд┐рдП рджреЛ рдХрд╛рд░рдХреЛрдВ рдХреЛ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рд┐рдП:

  1. рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдореЙрдирд┐рдЯрд░ рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ x0vncserver рд╕рд░реНрд╡рд░ рд╣реИред
  2. VNC рд╕рд░реНрд╡рд░ рд╕рдВрд╕рд╛рдзрди рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдЦрд┐рд░рдХрд╛рд░, рдЖрдкрдХреЛ рдЙрдирдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдФрд░ рд╕рд┐рдЧреНрдирд▓ рдЯреНрд░рд╛рдВрд╕рдорд┐рд╢рди рдореЗрдВ рдЕрдВрддрд░рд╛рд▓ рдХрдо рд╕реЗ рдХрдо рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдЕрдиреНрдпрдерд╛ рд╡реЗ рдЕрд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдХрд╛рд░рдг рдмрдирддреЗ рд╣реИрдВред

рджреЛрдиреЛрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП TigerVNC рд╕рд░реНрд╡рд░ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП TightVNC рдХреЛ рдЪреБрдирд╛ред TigerVNC рд╕рд░реНрд╡рд░ рдХрд┐рд╕реА рднреА рд▓рд┐рдирдХреНрд╕, рд╣рд▓реНрдХреЗ, рддреЗрдЬ рдХреА рдбрд┐рд▓реАрд╡рд░реА рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдФрд░ x0vncserver рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдореЙрдирд┐рдЯрд░ рдХреЗ рдмрд┐рдирд╛ рднреА рдХрд╛рдо рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред TightVNC рдХреНрд▓рд╛рдЗрдВрдЯ рдЪрд┐рддреНрд░реЛрдВ рдХрд╛ рдЗрддрдирд╛ рддреЗрдЬрд╝ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд░рд┐рдореЛрдЯ рдХрдиреЗрдХреНрд╢рди рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╣реИред

рдбреЙрдХрдлрд╛рдЗрд▓ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВ:

FROM centos:7

RUN yum install -y epel-release dnf \
        && \
        dnf install -y \
            tigervnc-server \
        && \
        yum clean all && dnf clean all \
        && \
        rm -rf /var/cache/yum/* && rm -rf /var/cache/dnf/*

рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЫрд╡рд┐ рдХреЗ рд╡рдЬрди рдХреЛ рд╣рд▓реНрдХрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╢ рдХреЛ рд╕рд╛рдл рдХрд░рддреЗ рд╣реИрдВред

рдбреЗрд╕реНрдХрдЯреЙрдк


рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЗрдбреАрдИ рдХреЛ рдмреНрд░реАрдЬ рдереАрдо рд╕реЗ рдкреНрдпрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдХреЗрдбреАрдИ рдПрдХ рдмрд╣реБрдд рд╣реА рдЖрдХрд░реНрд╖рдХ рдбреЗрд╕реНрдХрдЯреЙрдк рд╣реИред рд╕реВрдХреНрддрд┐ рдФрд░ рдЗрд╕рдХреЗ рд╡реНрдпреБрддреНрдкрдиреНрди рдФрд░ рднреА рдЕрдзрд┐рдХ рд▓рд╕рджрд╛рд░ рдереЗред Xfce, Ice рдмрд╣реБрдд рд╕реБрдВрджрд░ рдирд╣реАрдВ рд╣реИред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИ - рдХреЗрдбреА-рдкреНрд▓рд╛рдЬреНрдорд╛ рд╡рд┐рд╖рдп рдХреЗ рд╕рд╛рде рдПрд▓рдПрдХреНрд╕рдХреНрдпреВрдЯреА рдбреЗрд╕реНрдХрдЯреЙрдкред

рдбреЗрд╕реНрдХрдЯреЙрдк рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:

FROM centos:7

RUN yum install -y epel-release dnf \
        && \
        dnf install -y \
            tigervnc-server \
            openbox obconf-qt \
            lxqt-about lxqt-common lxqt-config lxqt-globalkeys lxqt-notificationd \
            lxqt-openssh-askpass lxqt-panel lxqt-policykit lxqt-qtplugin lxqt-runner \
            lxqt-session pcmanfm-qt \
            dejavu-sans-mono-fonts \
            xterm nano htop expect sudo \
        && \
        yum clean all && dnf clean all \
        && \
        rm -rf /var/cache/yum/* && rm -rf /var/cache/dnf/*

рдереЛрдбрд╝рд╛ рдФрд░ рдЖрдк рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд┐рд░реНрдорд╛рдг


рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдХреБрдЫ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдмрдирд╛рдПрдВ рдФрд░ рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗрдЯ рдХрд░реЗрдВ, рд╕рд╛рде рд╣реА рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗрдЯ рдХрд░реЗрдВ:

... Dockerfile

ENV HOME=/home/headless

RUN /bin/dbus-uuidgen --ensure && \
        useradd headless && \
        echo "centos" | passwd --stdin root && \
        echo "centos" | passwd --stdin headless

рдпрд╣рд╛рдВ рд╣реЗрдбрд▓реИрд╕ рд╡рд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЬрд┐рдирд╕реЗ рд╣рдо рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ, "рд╕реЗрдВрдЯреЛ" рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рд░реВрдЯ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкрд╛рд╕рд╡рд░реНрдб рд╣реИред рдХрдВрдЯреЗрдирд░ рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рдЗрд╕реЗ рдмрд╛рд╣рд░реА рдорд╛рдкрджрдВрдбреЛрдВ рд╕реЗ рдкрд╛рд░рд┐рдд рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рд░реВрдк рдореЗрдВ рднреА рдХрдВрдЯреЗрдирд░ рдХрдордЬреЛрд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рддрд░реНрдХреЛрдВ рдореЗрдВ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрд╢рди рд╡реАрдПрдирд╕реА рдореЗрдВ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реЛрдЧрд╛ред

рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ vnc рд╕рд░реНрд╡рд░ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк


рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рд╕рд╣рд╛рдпрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рд╣рдорд╛рд░реЗ VNC рд╕рд░реНрд╡рд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдЧреА:

#!/usr/bin/expec

spawn /usr/bin/vncserver :1 -fg -geometry 1820x960
expect "Password:"
send "$env(password)\r"
expect "Verify:"
send "$env(password)\r"
expect "Would you like to enter a view-only password (y/n)?"
send "n\r"

set timeout -1
expect eof

рдЗрд╕реЗ рдбреЙрдХрдлрд╛рдЗрд▓ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдмрд╛рдж рдореЗрдВ рдЗрд╕реЗ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЗрд╕реА рд╕реЗ рд╢реБрд░реВ рд╣реЛрдЧрд╛ред рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рдЖрдкрдХреЛ рдЙрд╕ рд╕рдВрдХрд▓реНрдк рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрд░реЗ рдкрд╛рд╕ 1820x960 рд╕реЗрдЯ рд╣реИред рдпрджрд┐ рдЖрдк рдХреНрд▓рд╛рдЗрдВрдЯ рд╡рд┐рдВрдбреЛ рдХреЗ рдЖрдХрд╛рд░ рд╕реЗ рдХрдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рд░реНрд╡рд░ рдореЗрдореЛрд░реА рдХреА рдХрдореА рдХреЗ рдХрд╛рд░рдг рдХреНрд░реИрд╢ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЕрдзрд┐рдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЪрд┐рддреНрд░ рдХреЛ рдЫреЛрдЯрд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдбреЗрд╕реНрдХрдЯреЙрдк рдХреЗ рддрддреНрд╡ рдмрд╣реБрдд рдЫреЛрдЯреЗ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рднреА, рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рд╡реИрд░рд┐рдПрдмрд▓ рд╕реЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬреЛ рдХрдВрдЯреЗрдирд░ рд▓реЙрдиреНрдЪ рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдпрд╣ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдХреЙрдкреА рдХрд░рдиреЗ рдФрд░ рдЗрд╕рдХреЗ рд▓реЙрдиреНрдЪ рдХреЗ рд▓рд┐рдП рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИ:

... Dockerfile

COPY ./startup.sh ${HOME}
RUN mkdir -p ${HOME}/.vnc \
        && \
        echo '#!/bin/sh' > ${HOME}/.vnc/xstartup && \
        echo 'exec startlxqt' >> ${HOME}/.vnc/xstartup && \
        chmod 775 ${HOME}/.vnc/xstartup \
        && \
        chown headless:headless -R ${HOME}


WORKDIR ${HOME}
USER headless
ENTRYPOINT ["expect", "./startup.sh"]

рдмрд╕ рдЗрддрдирд╛ рд╣реА, рдЖрдк рджреМрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдЙрд▓рдЭрди рдореЗрдВ рд╣реИрдВ, рддреЛ рдЗрд╕рдХрд╛ рдкреВрд░рд╛ рд╕рдВрд╕реНрдХрд░рдг рдореЗрд░реЗ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдФрд░ рдбреЙрдХрдЯрд░ рд╣рдм рдореЗрдВ рддреИрдпрд╛рд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ ред

рддреИрдпрд╛рд░ рдХрдВрдЯреЗрдирд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдирд╛ рд╣реЛрдЧрд╛:

docker run -it --rm -e password='YOUR_VNC_PASSWORD' -p5901:5901 labeg/centos-lxqt-vnc

рдФрд░ TightVNC рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред

рдЫрд╡рд┐

рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рднреА рдЕрдиреБрд╢рдВрд╕рд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдЕрдзрд┐рдХ рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рддреБрд░рдВрдд рдмрджрд▓ рджреЗрдВред

рдКрдкрд░ рджрд┐рдП рдЧрдП рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ рд╕реБрдВрджрд░ рдбрд┐рдЬрд╛рдЗрди рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░рд╛рд░рдВрдн> рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдВ> рд╕реВрд░рдд> LXQt рдереАрдо рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдХреЗрдб-рдкреНрд▓рд╛рдЬреНрдорд╛ рдереАрдо рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред

рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрдХреНрд░рдо


рдЕрдм рдЖрдк рдХрд╛рдо рдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рджреВрд╕рд░реА рдЫрд╡рд┐ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рдКрдкрд░ рдмрдирд╛рдИ рдЧрдИ рдЫрд╡рд┐ рд▓реЗрдВ рдФрд░ рдЗрд╕реЗ рд╕рдВрдХреБрд▓ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдкреВрд░рдХ рдХрд░реЗрдВ:

FROM labeg/centos-lxqt-vnc:latest

USER root

# dotnet vscode monodevelop nodejs git2
RUN rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm \
        && \
        rpm --import https://packages.microsoft.com/keys/microsoft.asc && \
        sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo' \
        && \
        rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF" && \
        su -c 'curl https://download.mono-project.com/repo/centos7-vs.repo | tee /etc/yum.repos.d/mono-centos7-vs.repo' \
        && \
        yum install -y https://centos7.iuscommunity.org/ius-release.rpm \
        && \
        curl -sL https://rpm.nodesource.com/setup_13.x | bash - \
        && \
        dnf install -y geany git2u git2u-gui code monodevelop firefox dotnet-sdk-3.1 nodejs gnome-terminal gnome-system-monitor \
        && \
        npm install -g gulp typescript npm-check-updates \
        && \
        chown headless:headless -R ${HOME}

USER headless

RUN code --install-extension ms-vscode.vscode-typescript-tslint-plugin && \
    code --install-extension dbaeumer.vscode-eslint && \
    code --install-extension mrmlnc.vscode-scss && \
    code --install-extension visualstudioexptteam.vscodeintellicode && \
    code --install-extension ms-dotnettools.csharp && \
    code --install-extension joelday.docthis && \
    code --install-extension mrmlnc.vscode-remark && \
    code --install-extension eamodio.gitlens

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдирдХреНрд╕ рдХреЗ рддрд╣рдд рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рд╕реА # рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреА рд╣реИред рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдФрд░ рдореЛрдиреЛрдбреЗрд╡рд▓рдкреНрдб (рдЙрд░реНрдл рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдлреЙрд░ рдореИрдХ) рдХреЗ рд╕рд╛рде рдПрдирдУрдбреАрдЬреЗрдПрд╕, рд╡реАрдПрд╕ рдХреЛрдб рд╣реИред

рдпрд╣ рдкрд┐рдЫрд▓реА рдЫрд╡рд┐ рдХреА рддрд░рд╣ рд╕рд░рд▓ рд╣реИ:

docker run -it --rm -e password='YOUR_VNC_PASSWORD' -p5901:5901 labeg/devpc

рдЕрдм рд╕реЗрдХрдВрдб рдореЗрдВ рдЖрдк рдПрдХ рд╕рд╛рдл-рд╕реБрдерд░реЗ рдХрд╛рдо рдХреЗ рдорд╛рд╣реМрд▓ рдХреЛ рддреИрдирд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЫрд╡рд┐

рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдФрд░ рддреИрдпрд╛рд░ рдЪрд┐рддреНрд░


рдпрджрд┐ рдЖрдкрдХреЛ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдФрд░ рдЪрд┐рддреНрд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╛ рдпрджрд┐ рдЖрдк рдореМрдЬреВрджрд╛ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╛рд╕рд╡рд░реНрдб, рд╕реНрдХреНрд░реАрди рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рд╕реЗрдЯ рдХрд░реЗрдВ, рдпрд╛ рдХреНрд░реИрд╢ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╡реАрдПрдирд╕реА рд╕рд░реНрд╡рд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ, рдлрд┐рд░ рдореЗрд░реЗ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред Gihub Dockerhub рдбреЗрд╕реНрдХрдЯреЙрдк рдХреЗ

рд╕рд╛рде рдореВрд▓ рдЫрд╡рд┐ ред рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рд╕реА # рдЧрд┐рд╣рдм рдбреЙрдХрд╣рд░реНрдм рдЯреВрд▓реНрд╕ рдХреЗ рд╕рд╛рде рдЫрд╡рд┐ ред


All Articles