Questions générales sur Manjaro Linux.
S'il vous plaît, avant de poster, essayez la fonction de recherche du forum.
Répondre

Lxc vs docker !

#1Messageil y a 4 ans

Bonjour,

Juste pour avoir une confirmation:

Lxc = virtualisation d’un OS entier dans un conteneur —> ce conteneur cohabite avec l’hôte (kernel partagé) mais il a tout les processus nécessaire d’un OS normale et les données n’y sont pas éphémère (rw).

Docker = conteneur applicatif qui a énormément besoin de l’OS de l’hôte et qui a juste les processus nécessaire pour faire fonctionner l’application —> données y sont éphémère et isolées à moins qu’on y ajoute une couche d’écriture !

En gros:

Lxc = virtualisation d’un OS complet
Docker = conteneurisation d’un service.

Par contre, je remarque qu’il est possible de démarrer des images docker avec un OS + rajouter une couche applicative + couche d’écriture. Ma question est la suivante : ce docker ressemble fortement au conteneur lxc mais quel est la réelle différence ??

Merci.

Lxc vs docker !

#2Messageil y a 4 ans

Personne à l’horizon ........

Lxc vs docker !

#3Messageil y a 4 ans

bonjour,

si pas de réponse c'est que ta question donne comme "image" que n'a pas pris le temps de rechercher par toi même.

Ce sont 2 systèmes de container mais pour des besoins différents
- lxc c'est un chroot sécurisé (systemd-nspawn) extrêmement classique, pas d'outils, simple et fait une chose
- docker un écosystème extrêmement riche (dockerfile, docker-compose, Kumbernetes, dive, ...)
docker utilise un système très différent sur un empilement d'images (read only) et un conteneur pour exécuter l'image finale
Avec dockerfile, il est facile de partager une image (perso ou non) via un petit fichier texte (avec lxc?)
Avec docker compose, il est facile de partager tout un environnement perso via un petit fichier texte (avec lxc?)

Donc si tu recherches du reproductible, le choix est extrêmement simple.

---
Pour ta question (sur arch) "sans bind" (mais pourquoi !), il faut rechercher/lire ce que propose docker :wink:
https://www.lemagit.fr/conseil/Containe ... persistant

Lxc vs docker !

#4Messageil y a 4 ans

&papajoke: Je me disais bien que c’était toi qui allait répondre et je t’en remercie.

Je sais lire une doc mais il faut savoir comprendre ce que l’on lit.

Je vais continuer à m’exercer sur le sujet. Par contre pour rajouter une couche d’écriture, il faut juste changer le nom du docker (rajout d’une couche) en changeant le nom (couche supplémentaire), les données introduits dans cette couche y resteront c’est bien cela?

Merci.

Ps: il y’a des posts sur ce forum qui sont moins légitime que le miens ou il y’a des réponses assez rapidement et je cherche toujours des infos avant de poster quelque chose sauf que parfois, les explications données par certaines personnes sont plus claire que la doc elle-même :-).

Lxc vs docker !

#5Messageil y a 4 ans

"couche = changer le nom du docker"
:mrgreen:
Ce que tu appelles couche se sont les dockerfiles ! qui génèrent des images

en très schématisé (fonctionne pas tel quel) :

FROM base/archlinux:latest
ENV keyboard="fr_FR"
RUN echo -e 'KEYMAP=fr-latin9' > /etc/vconsole.conf && \
	echo -e "LANG=$keyboard.UTF-8\nLC_COLLATE=C\n" > /etc/locale.conf && \
	echo -e "$keyboard.UTF-8 UTF-8\nen_US.UTF-8 UTF-8" > /etc/locale.gen && \
	locale-gen && \
	localectl set-locale LANG=fr_FR.utf8
	localectl set-keymap fr-latin9
j'ai une arch en fr

maintenant je vais créer mon image: docker build -t arch:premiere_image, c'est donc ici que mon image a un nom !

une autre "couche", on ajoute un soft

FROM arch:premiere_image
RUN pacman -S openssh
RUN /usr/bin/ssh-keygen -A
j'ai une image avec openssh (ici non paramétrée)

---

En fait on prend une image sur le hub et si elle ne convient pas alors on la surcharge avec sont propre dockerfile
---
il existe des centaines de dockerfiles sur le hub et énormément de blog/tutos qui expliquent dockerfile
Une recherche aussi sur github ... par exemple ici une image basée sur "harisekhon/nagios-plugins:ubuntu" elle meme basée sur ubuntu

---
ps: normalement nous n'avons pas a faire 36 couches, avec docker nous allons plutôt créer une image par service (donc très simple, donc existe déjà) et lier ces services (docker-compose)
ps: en fait pour docker chaque commande RUN dans le dockerfile va créer une "couche"

Lxc vs docker !

#6Messageil y a 4 ans

J’ai compris tout ça mais supposons que notre image définitive soit faite et qu’on s’y attache via un Shell et qu’on commence à y modifier des choses (ajouts de fichiers etc.), comment faire en sorte que les données n’y soient pas éphémères (mise à part via le bind-mount d’un dossier de la machine hôte)?

Merci.

Lxc vs docker !

#7Messageil y a 4 ans

je t'ai donné le lien pour la persistance au premier post ! il faut lire :pleure:;rale:
On peut "bind" un répertoire de notre hôte mais aussi "bind"(comme tu dis) un conteneur de données
Ou alors tu parles de "docker commit" ? (voir la doc :wink: ) si tu désires changer la config (mais dockerfile est fait pour cela)

A la place de demander des questions abstraites, il serait plus simple de connaitre tes besoins ? Pour utiliser docker il faut avant tout avoir un besoins précis. lxc... les VM c'est très bien parfois - docker c'est qu'en même un truc serveur donc sans lien avec manjaro et nos desktops

Lxc vs docker !

#8Messageil y a 4 ans

Tu sais, il y’a beaucoup de posts sur ce forums qui n’ont pas grand choses à voir avec Manjaro mais comme Manjaro est l’OS que j’utilise, je me permets de poser la question. Je vais de nouveau relire toute la doc + ton lien et me concentrer sur le sujet.

Merci à toi et bonne nuit —> résolu !
Répondre