Vue lecture

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.

Comment surveiller et debugger vos conteneurs Docker ?

Si vous êtes devop, vous savez qu’il est essentiel de savoir surveiller et déboguer les applications en temps réel.

Mais le faire n’est pas si simple, surtout si celles-ci tournent dans des conteneurs Docker. C’est là qu’intervient l’outil libre Dozzle !

Grâce à une interface intuitive et des fonctionnalités d’analyse temps réel et de filtrage, les développeurs et les administrateurs système que vous êtes pourront facilement accéder aux journaux générés par leurs conteneurs Docker.

Avec Dozzle, les utilisateurs peuvent bénéficier d’un affichage des logs en temps réel sans avoir besoin de rafraîchir la page et l’outil prend en charge les journaux JSON avec une coloration intelligente, ce qui en facilite la lecture et la compréhension. L’installation et la configuration de Dozzle sont relativement simples et rapides. L’outil peut être installé localement ou utilisé pour se connecter à des hôtes distants via tcp:// et tls.

Le moyen le plus simple d’installer Dozzle est d’utiliser la commande Docker CLI et de monter le fichier docker.sock. Ce fichier se trouve généralement dans le répertoire /var/run/docker.sock. Vous devez également spécifier le port d’accès à l’interface de Dozzle. Par défaut, Dozzle écoute sur le port 8080, mais vous pouvez modifier le port externe en utilisant l’option -p.

Voici la commande à utiliser :

docker run --detach --volume=/var/run/docker.sock:/var/run/docker.sock -p 8080:8080 amir20/dozzle

Docker Compose permet de configurer Dozzle plus facilement au sein d’un projet existant.

Voici un exemple de fichier docker-compose.yml pour Dozzle :

version: "3"
services:
  dozzle:
    container_name: dozzle
    image: amir20/dozzle:latest
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    ports:
      - 9999:8080

Ensuite, pour lancer Dozzle avec Docker Compose, enregistrez le fichier docker-compose.yml dans votre projet et exécutez la commande suivante dans votre terminal :

docker-compose up -d

Quelle que soit la méthode choisie, une fois Dozzle lancé, vous pourrez alors accéder à son interface web pour visualiser les journaux de vos conteneurs Docker.

Amusez-vous bien et bon debugging à tous !

Lancez Windows de XP à la version 11 dans un conteneur Docker

Vous en avez marre de devoir garder une vieille bécane sous Windows juste pour faire tourner ce vieux logiciel qui ne marche que sous XP ? Ou alors vous aimeriez bien tester la dernière version de Windows 11 mais vous n’avez pas envie de vous embêter à l’installer sur une vraie machine ? Dans les deux cas, j’ai la solution qu’il vous faut !

Grâce au projet open-source Windows dans un conteneur Docker, vous allez pouvoir faire tourner n’importe quelle version de Windows directement dans Docker, le tout avec une accélération KVM et même un affichage dans votre navigateur web si besoin.

Pour faire simple, il vous suffit de récupérer l’image Docker dockurr/windows, de la démarrer avec quelques options bien choisies, puis de vous connecter sur le port 8006 avec votre navigateur. Et là, magie, l’installation de Windows va se lancer automatiquement ! Vous n’avez plus qu’à vous détendre le temps que ça se termine. Une fois sur le bureau, votre installation de Windows est prête à l’emploi. Vous pouvez commencer à bricoler dessus comme sur une vraie machine. Le pied !

Par défaut c’est Windows 11 qui sera installé, mais vous pouvez très facilement choisir une autre version en passant la variable d’environnement VERSION dans votre fichier docker-compose.yml. Vous avez l’embarras du choix :

  • win11 : Windows 11 Pro
  • win10 : Windows 10 Pro
  • ltsc10 : Windows 10 LTSC
  • win81 : Windows 8.1 Pro
  • win7 : Windows 7 SP1
  • vista : Windows Vista SP2 (pour les nostalgiques)
  • winxp : Windows XP SP3 (carrément old-school)
  • 2022 : Windows Server 2022
  • 2019 : Windows Server 2019
  • 2016 : Windows Server 2016
  • etc…

Et si vous voulez pousser encore plus loin, sachez qu’il est même possible d’installer une version allégée de Windows comme Tiny11 ! Pour ça, il vous suffit de passer la valeur tiny11 à la variable VERSION. Idéal pour avoir un Windows léger qui tourne comme une horloge dans un conteneur.

Ça se lance via Docker Compose :

version: "3"
services:
  windows:
    container_name: windows
    image: dockurr/windows-arm
    devices:
      - /dev/kvm
    cap_add:
      - NET_ADMIN
    ports:
      - 8006:8006
      - 3389:3389/tcp
      - 3389:3389/udp
    stop_grace_period: 2m
    restart: on-failure

Ou directement comme ceci :

docker run -it --rm --name windows -p 8006:8006 --device=/dev/kvm --cap-add NET_ADMIN --stop-timeout 120 dockurr/windows

Bon par contre, le viewer VNC accessible dans le navigateur c’est surtout pratique pendant l’installation. Pour une utilisation plus sérieuse, mieux vaut utiliser un vrai client RDP en se connectant sur l’IP du conteneur Docker avec l’utilisateur docker. Il y a de très bons clients RDP dispos, que ce soit pour Android, iOS, Linux (rdesktop) ou même Windows où c’est carrément intégré à l’OS.

Évidemment, ne vous attendez pas à des miracles niveau performances, on parle d’un Windows qui tourne dans un conteneur Docker quand même ^^. D’ailleurs par défaut le conteneur a le droit à seulement 2 cœurs de CPU et 4 Go de RAM, ce qui correspond à la config minimale requise par Windows 11. Mais ça reste largement suffisant pour faire des tests ou utiliser des vieux logiciels.

Si jamais vous avez besoin de plus de ressources, vous pouvez augmenter ça facilement en ajoutant les variables d’environnement RAM_SIZE et CPU_CORES dans votre docker-compose.yml. Pareil si vous voulez augmenter la taille du disque virtuel qui fait 64 Go par défaut, c’est possible en passant l’option DISK_SIZE. Par exemple pour avoir un disque de 256 Go :

environment:
DISK_SIZE: "256G"

Enfin, si vous voulez bidouiller plus en profondeur, sachez qu’on peut même passer des périphériques entiers (disques, clés USB…) au conteneur pour que Windows puisse y accéder directement. Je vais pas m’étendre plus, je vous laisse aller consulter la doc.

Bref, vous l’aurez compris, ce projet est une petite merveille pour tous ceux qui ont besoin de faire tourner Windows dans un environnement isolé et facile à mettre en place. Que ce soit pour tester une appli, monter un labo ou même utiliser un logiciel qui ne tourne que sous Windows, ça peut dépanner dans plein de situations.

Et le meilleur dans tout ça ?

C’est que le projet ne contient que du code open-source et n’embarque aucun élément propriétaire. Les clés de licence utilisées dans le projet sont celles fournies par Microsoft à des fins de test. Donc a priori, c’est totalement légal. Après c’est sûr, faudra pas venir se plaindre si Microsoft n’est pas content qu’on fasse tourner Windows dans un conteneur Docker… 😀

Merci à Lorenper

❌