J'ai installé xdg-utils dans mon conteneur docker en utilisant apt-get install xdg-utils
Je veux la commande xdg-open 'http://www.freedesktop.org/' pour ouvrir l'URL spécifiée dans le navigateur hôte.
pour le moment, il renvoie cette erreur:
root@pravin:/# xdg-open 'http://www.freedesktop.org/' /usr/bin/xdg-open: 778: /usr/bin/xdg-open: www-browser: not found /usr/bin/xdg-open: 778: /usr/bin/xdg-open: links2: not found /usr/bin/xdg-open: 778: /usr/bin/xdg-open: elinks: not found /usr/bin/xdg-open: 778: /usr/bin/xdg-open: links: not found /usr/bin/xdg-open: 778: /usr/bin/xdg-open: lynx: not found /usr/bin/xdg-open: 778: /usr/bin/xdg-open: w3m: not found xdg-open: no method available for opening 'http://www.freedesktop.org/'
Comment puis-je faire en sorte que docker utilise le navigateur du système d'exploitation hôte?
3 Réponses :
Vous ne pouvez pas, car le conteneur ne partage pas avec le processus du système d'exploitation / l'espace de noms réseau / les systèmes de fichiers par défaut.
En théorie, vous pouvez démarrer le conteneur dans les espaces de noms de processus hôte ( --pid = host ), l'espace de noms d'hôte réseau ( --network = host ) et monter FS requis au conteneur ( --volume .. ), mais il se peut que vous ayez encore d'autres problèmes. Cela nécessitera des compétences très avancées en matière de conteneurs Docker.
Je pense qu'il peut être difficile de se connecter au processus hôte et d'ouvrir une nouvelle fenêtre.
Il peut y avoir une solution pour surmonter ces difficultés. Vous pouvez exécuter le processus de navigateur dans le conteneur et partager l'affichage avec l'hôte.
L'idée principale est de partager la variable d'environnement DISPLAY et le réseau entre l'hôte et le conteneur. Pour en savoir plus, consultez cet article a >.
DISPLAY sera utile si le navigateur est en cours d'exécution dans le conteneur. Mais question mentionnée navigateur du système d'exploitation hôte.