Déploiement de container facilement avec Rancher Desktop

Publié le 15 septembre 2022

Par Alexandre DA SILVA

Alexandre
Rancher Desktop   Container Runtime

Introduction

(Pensez à lire la première partie avec l'introduction à Rancher Desktop comme meilleure alternative à Docker Desktop)

Nous avons vu précédemment que nous avions le choix entre containerd et dockerd lors de la configuration mais quelle est la différence entre les deux ? Pour résumer rapidement, ce sont des containers runtime, ils gèrent les images, le cycle de vie complet des conteneurs mais aussi la partie stockage et réseau.

Explication générales des runtimes

Containerd, originellement dans le projet Docker, en a été extrait pour devenir un projet open source réutilisable par d’autres projets tels que Docker lui-même et Kubernetes. Pour lancer vos conteneurs, il est utilisé avec nerdctl, un outil de ligne de commande équivalent à docker.

Dockerd quant à lui, basé sur le projet Moby, intègre l’API et la CLI Docker vous permettant d’utiliser les commandes Docker. Il a été ajouté récemment à Rancher Desktop pour combler les commandes docker non couvertes par nerdctl.

Lire aussi :
Introduction à Rancher Desktop comme meilleure alternative à Docker Desktop

Déploiement d'un container avec Dockerd (Moby)

En choisissant dockerd, lors de la configuration, il n’y a pas de changement au niveau des commandes Docker. Vous pouvez build, pull des images et lancer des conteneurs comme vous le faisiez sur Docker Desktop.

Ici, nous allons lancer un container nginx :

docker run -d -p 8080:80 nginx

En naviguant sur http://localhost:8080, vous devriez tomber sur la page d’accueil de Nginx :

Welcome to Nginx!

Page Welcome de nginx, après avoir déployé notre container

Déploiement avec Docker Compose

Pas de changement également avec Docker Compose. Essayez de lancer les conteneurs décrits par ce fichier docker-compose.yaml :

version: "3.9" 
services:
  db:
    container_name: db-koul
    image: mysql
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: db_koul
    ports:
      - "3307:3306"
  web:
    container_name: nginx-koul
    image: nginx

Lancer la commande, suivante afin de lancer vos containers :

docker compose up -d

En vérifiant avec la commande docker ps, vous devriez avoir maintenant vos deux conteneurs, en cours d’exécution : mysql et nginx

Rendu De La Commande Qui Affiche Nos Containers

Et voilà ! Vous avez lancé vos premiers conteneurs avec Rancher Desktop ! Voyons maintenant comment cela se passe avec containerd.

docker ps -a | grep koul

Containerd, c'est quoi ?

Containerd était de base, le seul container runtime proposé par Rancher Desktop avant l’ajout récent de dockerd. Il s’utilise avec nerdctl, un outil de ligne de commande qui reprend la structure des commandes docker. La plupart des commandes docker sont couvertes et il supporte dockerfile et docker compose.

Essayons de faire la même chose que dans la partie précédente avec la commande nerdctl.

Ici, nous allons lancer un container nginx :

nerdctl run -d -p 8000:80 nginx

Vous devriez avoir également la page d’accueil de Nginx en naviguant sur http://localhost:8080

Nerdctl compose

Pour Docker Compose, nerdctl a un équivalent qui est nerdctl-compose.

Créer le fichier docker-compose.yaml :

version: "3.9" 
services:
  db:
    container_name: db-koul
    image: mysql
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: db_koul
    ports:
      - "3307:3306"
  web:
    container_name: nginx-koul
    image: nginx

Lancer ensuite la commande suivante :

nerdctl compose up -d

En vérifiant avec la commande nerdctl ps -a, vous devriez voir vos deux conteneurs lancés !

L’utilisation avec Nerdctl Compose reste néanmoins perfectible selon la configuration du fichier docker-compose.yaml.

Conclusion

En conclusion à notre précédent article et celui-ci, Rancher Desktop est une excellente alternative à Docker Desktop. La mise en route et l’installation ne posent pas de soucis et la communauté est très réactive (n’hésitez pas à passer sur le Slack de Rancher Desktop).

L’interface graphique est un plus et il est possible d’être au plus proche des configurations de production.

En revanche, il est dommage de ne pas avoir une interface des logs de Rancher Desktop directement depuis l’application.

De plus, le système de fichier partagé n’est pas encore aussi rapide que sur Docker Desktop.


Alexandre

Alexandre DA SILVA

Partager l'article

Partager sur linkedinPartager sur facebook

Pour aller plus loin...

API Platform 3.0 Welcome

API Platform - Une solution web puissante pour construire des APIs modernes

Technologie

22/10/2024

Dans le monde du développement web, les APIs jouent un rôle central en permettant la communication entre différents systèmes et plateformes. Symfony, l'un des frameworks PHP les pl...

React 19

React 19 - Les grandes nouveautés de la bibliothèque JavaScript

Technologie

04/10/2024

Depuis son lancement, React reste une bibliothèque de référence pour la création d'interfaces utilisateur dynamiques et réactives. Avec l'arrivée de React 19, de nouvelles fonction...


Vous souhaitez être accompagné pour lancer votre projet digital ?

Koul Logo Blanc Sans Fond
9 Place Royale, 51100 Reimscontact@koul.io
BlogInstagramFacebookLinkedin
À propos
Qui sommes-nous ?L'histoireNos expertisesNos projetsNous contacter
Le concentré d'actualités KOUL

Une fois par mois, des nouveautés et conseils en stratégie digitale, dans votre boîte mail.

Vous pouvez vous désabonner à tout moment

KOUL 2024
Mentions légalesCGV