X и xdotool в LXC вместо KVM

До сих пор я использую различные сценарии xautomation / xdotool в виртуальной машине KVM (гостевой Linux), чтобы позволить им выполнять свою работу и позволить мне работать бесперебойно. Я использую диск VirtIO, но все же производительность гостя в большинстве случаев медленная.

Могу ли я сделать то же самое в контейнере LXC, например, используя докер ?

Я ничего не могу сказать о производительности, но, исследуя это, я столкнулся с этим вопросом Q & A под названием: можете ли вы запускать приложения для графического интерфейса в докере? что показывает 3 метода для этого.

  1. Запуск AppX через VNC

    Этот метод показывает использование следующего файла Docker:

    # Firefox over VNC # # VERSION 0.1 # DOCKER-VERSION 0.2 from ubuntu:12.04 # make sure the package repository is up to date run echo "deb http://archive.ubuntu.com/ubuntu precise main universe" > /etc/apt/sources.list run apt-get update # Install vnc, xvfb in order to create a 'fake' display and firefox run apt-get install -y x11vnc xvfb firefox run mkdir /.vnc # Setup a password run x11vnc -storepasswd 1234 ~/.vnc/passwd # Autostart firefox (might not be the best way to do it, but it does the trick) run bash -c 'echo "firefox" >> /.bashrc' 

    А затем запустить экземпляр Docker так:

     $ docker run -p 5900 creack/firefox-vnc x11vnc -forever -usepw -create 
  2. Использование Docker + Subuser

    Используя Subuser + Docker, вы можете сразу запускать Docker VM с помощью только одного приложения, предоставляя им узкий доступ к определенным папкам с физического хоста.

    Subuser должен быть легко установлен и сам по себе технически незначителен. Это всего лишь обертка вокруг докера, не более того.

    Subuser запускает контейнеры докеров с томами, разделяемыми между хостом и дочерним контейнером. Это все.

    Вот видео, показывающее Subuser в действии .

  3. Запуск X11 через SSH

    Этот последний метод показывает, как настроить экземпляр Docker с помощью служб X11 + SSH, работающих внутри. Затем эта настройка позволяет туннелировать любые приложения X11 через SSH.

    Ssh используется для пересылки X11 и обеспечения шифрованной передачи данных между контейнером докера и локальной машиной.

    Затем этот метод переходит к настройке Xpra + Xephyr на локальной стороне.

    Xpra + Xephyr позволяет отображать приложения, запущенные внутри контейнера, такие как Firefox, LibreOffice, xterm и т. Д. С возможностями сеанса восстановления. Таким образом, вы можете открывать свой рабочий стол в любом месте, не теряя статус своих приложений, даже если соединение падает.

    Xpra также использует настраиваемый протокол, который является самонастраивающимся и относительно нечувствительным к задержкам, и, следовательно, он может использоваться по более худшим ссылкам, чем стандартный X.

    Приложения могут быть без корней, поэтому клиентский компьютер управляет отображаемыми окнами.

    Источник: DOCKER DESKTOP: ВАШЕ ОПИСАНИЕ НА ОСНОВЕ SSH, НАХОДЯЩЕГОСЯ ВНУТРИ КОНТЕЙНЕРА DOCKER

Рекомендации

  • можете ли вы запускать графические приложения в докере?