Déploiement de container facilement avec Rancher Desktop

15/09/2022
Alexandre

Alexandre DA SILVA

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...

Figma Vsxd
Technologie

Comment Figma a révolutionné le design d’interface ?

En quelques années à peine, Figma s’est imposé comme l’un des outils les plus incontournables dans le monde du design d’interface. Il a non seulement changé la manière dont les des...

Lire l'article

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

Koul Logo Blanc Sans Fond
4 Rue Maurice Prevost, 51450 Béthenycontact@koul.io
BlogInstagramFacebookLinkedin
Logo activateur France NumLogo Reims LegendR
À propos
Qui sommes-nous ?L'histoireNos projetsNous contacter
KOUL 2025
Mentions légalesCGV