<!--
  canonical-url: https://www.avonture.be/fr/blog/docker-gui-in-browser
  published:     2024-09-05
  This is a static plain-Markdown mirror generated at build time.
  Visit the canonical URL above for the fully rendered page, with images and interactive components.
-->

# Docker - Exécuter des interfaces graphiques dans le navigateur

> Lancez facilement des applications Linux graphiques comme Firefox et GIMP dans un container Docker et accédez-y directement depuis votre navigateur web avec ces quelques commandes.

---
![Docker - Exécuter des interfaces graphiques dans le navigateur](/img/v2/docker_gui.webp)

**TL;DR**

Cet article montre comment exécuter des applications Linux graphiques comme Firefox et GIMP dans des containers Docker et accéder à leur interface directement depuis un navigateur web (via `http://localhost:3000`), en utilisant les images `linuxserver/firefox` et `linuxserver/gimp` — pratique pour tester un site dans une version précise d'un navigateur sans l'installer.

Dans un prochain article, je vais aborder un sujet que je viens de découvrir : la possibilité de lancer des interfaces graphiques dans Docker et, donc, d'avoir une application Linux qui tourne sous Windows. *Cet article est maintenant écrit : [Docker - Run Graphical User Interfaces - Firefox, Chrome & GIMP](/blog/docker-run-linux-gui), où les applications s'affichent comme de vraies fenêtres et non dans un onglet de navigateur.*

Mais d'abord, regardons quelques interfaces graphiques, comme Firefox ou GIMP (logiciel de traitement d'images), qui peuvent être lancées comme s'il s'agissait d'applications web.

## Démarrer Firefox dans votre navigateur {#start-firefox-in-your-browser}

Imaginez que vous soyez développeur web et que vous vouliez juste vérifier si votre site s'affiche correctement sur une version précise de Firefox (sans devoir installer cette version, bien sûr). La voici, qui tourne dans un container et s'affiche directement dans Chrome :

> Screenshot — http\://localhost:3000
>
> ![Démarrer Firefox dans Docker depuis Chrome](./images/firefox_in_chrome.webp)

Pour reproduire ceci, copiez/collez la commande ci-dessous dans votre console (elle vient de <https://hub.docker.com/r/linuxserver/firefox>) :

```bash
$ docker run -d \
    --name=firefox \
    --security-opt seccomp=unconfined \
    -e PUID=1000 \
    -e PGID=1000 \
    -e TZ=Etc/UTC \
    -e FIREFOX_CLI=https://www.linuxserver.io/ \
    -p 3000:3000 \
    -p 3001:3001 \
    -v /path/to/config:/config \
    --shm-size="1gb" \
    --restart unless-stopped \
    lscr.io/linuxserver/firefox:latest
```

Ouvrez ensuite votre navigateur et rendez-vous sur `http://localhost:`3000 pour démarrer Firefox. Vous pouvez alors surfer sur n'importe quel site formidable.

> **Sur ma capture ci-dessus, vous verrez que j'utilise plutôt le port 5000 (parce que mon blog tourne sur le port 3000):**

Et, pour le fun, voici la même chose mais j'ai démarré Firefox dans Docker depuis un environnement MS-DOS et j'ai ensuite utilisé Edge au lieu de Chrome :

> Screenshot — http\://localhost:3000
>
> ![Démarrer Firefox dans Docker depuis Edge](./images/firefox_in_edge.webp)

La commande que j'ai utilisée sous DOS est : `docker run -d --name=firefox --security-opt seccomp=unconfined -e PUID=1000 -e PGID=1000 -e TZ=Etc/UTC -e FIREFOX_CLI=https://www.linuxserver.io/ -p ` 3000`:3000 -p ` 3001`:3001 -v %CD%\temp:/config --shm-size="1gb" --restart unless-stopped lscr.io/linuxserver/firefox:latest`.

## Démarrer GIMP dans votre navigateur {#start-gimp-in-your-browser}

Autre exemple : lancer GIMP (logiciel de traitement d'images) dans le navigateur :

> Screenshot — http\://localhost:3000
>
> ![GIMP qui tourne dans Docker](./images/gimp_in_docker.webp)

Jetez un œil à <https://github.com/linuxserver/docker-gimp?tab=readme-ov-file#docker-cli-click-here-for-more-info>. Vous y trouverez une commande à lancer dans votre console.

Commencez par créer un sous-dossier appelé `config` et, dans mon exemple ci-dessous, je crée aussi un sous-dossier `images` où j'ai copié un avatar de suricate.

```bash
$ docker run -d \
    --name=gimp \
    --security-opt seccomp=unconfined \
    -e PUID=1000 \
    -e PGID=1000 \
    -e TZ=Etc/UTC \
    -p 3000:3000 \
    -p 3001:3001 \
    -v ./config:/config \
    -v ./images:/images \
    -w /images \
    --restart unless-stopped \
    lscr.io/linuxserver/gimp:latest
```

Comme tout à l'heure, démarrez maintenant votre navigateur et rendez-vous sur `http://localhost:`3000 pour lancer GIMP — c'est la capture ci-dessus.

La version MS-DOS de la ligne de commande est : `docker run -d --name=gimp --security-opt seccomp=unconfined -e PUID=1000 -e PGID=1000 -e TZ=Etc/UTC -p ` 3000`:3000 -p ` 3001`:3001 -v %CD%/config:/config -v ./images:/images -w /images --restart unless-stopped lscr.io/linuxserver/gimp:latest`.

## Conclusion {#conclusion}

Deux commandes `docker run`, deux applications graphiques dans un onglet de navigateur — pas d'installation, pas de nettoyage. Si vous préférez que ces applications s'ouvrent comme de vraies fenêtres sur votre bureau plutôt que dans un onglet,
[Docker - Run Graphical User Interfaces - Firefox, Chrome & GIMP](/blog/docker-run-linux-gui) couvre cette variante.
