web-dev-qa-db-fra.com

Comment ouvrir l'interface graphique d'Ubuntu dans une image Docker

J'ai téléchargé l'image Ubuntu dans Docker sous Windows.

Je peux exécuter Ubuntu en:

docker run -it ubuntu

Je ne vois que root, mais je ne vois pas l'interface graphique d'Ubuntu. Comment installer ou configurer l'interface graphique pour cette image et exécuter des applications sur cette interface graphique comme nous l'exécutons dans une machine virtuelle?

16
Shan Khan

Généralement, l'approche pour développer avec Docker est de conserver le IDE sur le poste de travail, et de construire des images avec le binaire produit à partir des sources.

Vous pouvez trouver de nombreux exemples d'un tel flux de travail (compilation locale, déploiement dans des conteneurs Docker) dans domeide.github.io/ (Docker rencontre l'IDE!)
Par exemple: Docker Tools for VisualStudio permet une intégration étroite entre votre éditeur et les processus Docker.

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

(Mais c'est pour Visual Studio 2015, pas pour Visual Studio Code.)

6
VonC

fcwu/docker-ubuntu-vnc-desktop

https://github.com/fcwu/docker-ubuntu-vnc-desktop fournit une configuration pratique:

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

Alors soit:

  • visitez: http://127.0.0.1:6080/#/ qui exécute un client noVNC VNC JavaScript plus limité

  • courir:

    Sudo apt-get install tigervnc-viewer
    xtigervncviewer :5900
    

    Puis dans vinagre, vous voudrez peut-être passer en mode plein écran pour pouvoir voir le bureau complet

    J'ai également essayé vinagre, mais c'était beaucoup plus lent lors du défilement de Firefox sur YouTube.

enter image description here

Pour quitter, il suffit de tuer docker sur le terminal. Et pour redémarrer la machine

docker start ubvnc

puis reconnectez-vous avec VNC. Puis pour quitter la machine:

docker stop ubvnc

Vous devez attendre quelques secondes pour que le serveur VNC sur l'invité démarre avant de pouvoir vous connecter.

Le chrome ne démarre pas à partir du menu. Si vous essayez de le lancer à partir de la ligne de commande, il explique pourquoi:

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

Firefox s'en fiche cependant.

TODO: pas d'audio. --device /dev/snd n'a pas aidé:

Voir également:

Testé sur Ubuntu 19.04 Host, fcwu/docker-ubuntu-vnc-desktop, dorowu/ubuntu-desktop-lxde-vnc ID de l'image: 70516b87e92d.

Vous pouvez connecter directement un conteneur Docker à votre X serveur.

Voir Stack Overflow question Pouvez-vous exécuter des applications GUI dans un conteneur Docker?.

1
Jürgen Weigert