Как открыть Ubuntu GUI внутри образа Docker

Я загрузил образ Ubuntu в Docker в Windows.

Я могу запустить Ubuntu:

docker run -it ubuntu

Я вижу только root, но я не вижу графический интерфейс Ubuntu. Как установить или настроить графический интерфейс для этого образа и запускать приложения на этом графическом интерфейсе, как мы работаем на виртуальной машине?

Ответ 1

Как правило, подход к разработке с помощью Docker заключается в том, чтобы поддерживать IDE на рабочей станции и создавать образы из двоичного файла, созданного из источников.

Вы можете найти множество примеров такого рабочего процесса (локальная компиляция, развертывание в контейнерах Docker) в Domeide.github.io/(Docker встречает IDE!)
Например: Docker Tools for VisualStudio обеспечивает тесную интеграцию между вашим редактором и процессами Docker.

https://microsoftcloudexplorer.gallerycdn.vsassets.io/extensions/microsoftcloudexplorer/visualstudiotoolsfordocker-preview/0.41.0/1478598789732/205468/1/add-docker-support.png

(Но это для Visual Studio 2015, а не для Visual Studio Code.)

Ответ 2

fcwu/docker-ubuntu-vnc-desktop

https://github.com/fcwu/docker-ubuntu-vnc-desktop  обеспечивает удобную настройку:

docker run --name ubvnc -p 6080:80 -p 5900:5900 dorowu/ubuntu-desktop-lxde-vnc:bionic

Тогда либо:

  • посетите: http://127.0.0.1:6080/#/, где работает noVNC более ограниченный клиент VNC JavaScript

  • запустить:

    sudo apt-get install tigervnc-viewer
    xtigervncviewer :5900
    

    Затем внутри vinagre вы можете перейти в полноэкранный режим, чтобы увидеть полный рабочий стол

    .Я также попробовал vinagre, но при прокрутке Firefox на YouTube это было намного медленнее.

enter image description here

Чтобы выйти, просто убейте docker на терминале. И перезагрузить машину

docker start ubvnc

а затем восстановите соединение с VNC. Затем, чтобы выйти из машины:

docker stop ubvnc

Вам нужно подождать несколько секунд, чтобы VNC-сервер на гостевой системе запустился, прежде чем вы сможете подключиться.

Хром не запустится из меню. Если вы попытаетесь запустить его из командной строки, это объясняет, почему:

Running as root without --no-sandbox is not supported. See https://crbug.com/638180.

Однако Firefox это не волнует.

ТОДО: нет звука. --device /dev/snd не помогло:

Смотрите также:

Протестировано на хосте Ubuntu 19.04, fcwu/docker-ubuntu-vnc-desktop, dorowu/ubuntu-desktop-lxde-vnc id изображения: 70516b87e92d.