Aller au contenu

[TUTO] Docker : Introduction


.Shad.

Messages recommandés

il y a une heure, Lapin a dit :

1- Est-ce qu'un conteneur monté par SSH résiste à une mise à jour DSM ? Ou seul, les conteneurs faire par le GUI Synology sont immunes aux mises à jour ?

Il n'y a pas de différence de comportement, que ce soit directement en ligne de commande (docker) ou via docker-compose, à vrai dire la version graphique de DSM n'apporte aucun avantage par rapport à ce que permet Portainer si tu veux une interface graphique.

L'avantage de Docker, quelque soit la méthode, c'est que ça survit à toutes les upgrades (sauf si l'implémentation de Docker sur DSM est cassée, évidemment).

il y a une heure, Lapin a dit :

2- En passant par Docker-compose, cela à rendu visible le conteneur sous le GUI Synology. Du coup, je peux tout faire: start/stop/ouvrir un terminal/afficher le log. Donc, pourquoi faire une tâche supplémentaire pour arrêter le conteneur DIUN ? Y aurait-il une subtilité qui m'aurait échappée ?

Docker-compose permet de créer des volumes, des réseaux, des ordres de démarrage ou d'arrêt, etc... à la volée.
Et lorsque tu arrêtes ou supprimes une stack, docker-compose s'assure de suivre toutes ces étapes.
Quand tu passes par DSM, si tu arrêtes un conteneur, ça revient à faire un bête stop, donc tu bypass tout ce que tu aurais pu prévoir dans ton fichier compose.

Il y a 1 heure, Lapin a dit :

J'avais espoir qu'il soit possible de remonter des push à travers la couche "Docker Synology". J'ai vu qu'il y avait des histoire de MetaData, mais là cela me dépasse pour l'instant.

Portainer devrait pouvoir te donner toute satisfaction, tu peux trouver un guide d'installation ici : https://www.nas-forum.com/forum/topic/66422-tuto-centralisation-des-instances-docker/

Lien vers le commentaire
Partager sur d’autres sites

Un grand merci pour toutes ces explications. 👍
Je viens de me rendre compte/comprendre que le GUI docker sous DSM n'était qu'un wrapper graphique.
Mais que, derrière, ce sont bien les "vraies" commandes Linux qui sont exécutées.
Donc, qu'un conteneur soit créé par le GUI DSM, par SSH, par composer ou par Portainer, cela reste un setup Linux qui va résister à toutes mises à jour. J'ai tout bon ? 😅
C'est bien plus clair dans ma tête maintenant. Merci.
NB: j'ai juste paraphrasé ce que tu m'as expliqué. C'est pour être sûr à 100% que j'ai bien compris.

Concernant Portainer, j'ai déjà regardé. J'ai même testé leur site de demo. Et j'avoue que j'étais complètement perdu.
J'ai trouvé qu'il y avait trop de boutons pour un usage aussi basic que le mien. Mais bon, il n'y a que les imbéciles qui ne changent pas d'avis. Je vais lire ton tuto avec beaucoup d'attention.

 

Modifié par Lapin
Lien vers le commentaire
Partager sur d’autres sites

Hello, oui tu as bien compris.

Pour Portainer, il y a effectivement beaucoup d'options qui ne servent pas dans notre cas, et dont la pertinence est même discutable en dehors. Mais je le trouve pratique pour consulter l'ensemble de ses conteneurs et surtout si tu as plusieurs périphériques qui utilisent Docker, les superviser depuis un seul et même endroit est quand même très pratique.

Lien vers le commentaire
Partager sur d’autres sites

  • 4 semaines après...
  • 4 mois après...

C'est l'intérêt de ce tutoriel, pouvoir consolider les bases et se faire une piqûre de rappel. 😉

Je vais devoir améliorer 2-3 points où je me rends compte que je suis allé un peu vite.
Si tu as des questions n'hésite pas.

Modifié par .Shad.
Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

Bonjour,

Je souhaite créer un réseau macvlan 192.168.2.X.

docker network create -d macvlan \
--subnet=192.168.2.0/24 \
--ip-range=192.168.2.1/24 \
--gateway=192.168.1.254 \
-o parent=eth0 \
toto

J'ai indiqué comme passerelle celle de ma box. Le fait qu'elle ne soit pas dans le même réseau ne risque pas de poser problème ?

Les chiffres retenus ont été fournis par un calculateur de masques, l'ip-range est-il correct sachant que la première machine a l'adresse 192.168.2.1 et la dernière 192.168.2.254 ?

Merci.

Lien vers le commentaire
Partager sur d’autres sites

@CyberFr J'essaie de comprendre, il existe déjà ton réseau en 192.168.2.x ? Parce que si ton réseau physique est en .1, ton réseau macvlan doit l'être aussi, sauf à avoir un masque inférieur à /24, mais ce n'est visiblement pas ton cas.

Tu dois prendre un ip-range compris dans ton réseau physique qui soit en dehors de ta plage DHCP et en dehors des éventuels adressages statiques (réservations d'IP) effectués dans ta box. Voir l'exemple dans le tutoriel.

Lien vers le commentaire
Partager sur d’autres sites

docker network create -d macvlan \

--subnet=192.168.1.100/30 \

--ip-range=192.168.1.100/30 \

--gateway=192.168.1.254 \

-o parent=eth0 \

toto

 

Sachant que la passerelle est en 192.168.1.254, puis-je utiliser cette combinaison pour réserver les adresses 192.168.1.100 à 192.168.1.103 sachant que le DHCP de la box gère les adresses 192.168.1.1 à 192.168.1.99 ?

Lien vers le commentaire
Partager sur d’autres sites

Il y a 1 heure, CyberFr a dit :

Je l'ai pourtant lu et relu mais toi tu es tombé dedans étant jeune 🙂

C'était il y a 4 ans 😛 C'est pas du tout mon métier 😉 

il y a 2 minutes, CyberFr a dit :

--subnet=192.168.1.100/30 \

Ici tu laisses la plage de ton réseau local, donc 192.168.1.0/24.

il y a 5 minutes, CyberFr a dit :

--ip-range=192.168.1.100/30 \

Ca ne laisse pas beaucoup d'IP disponibles, je serais parti sur /29, quitte à décaler un peu.
Par exemple 192.168.1.104/29 couvre six adresses IP, de 192.168.1.105 à 192.168.1.110

Et j'aurais appelé mon réseau autrement que "toto" 😛 

Sinon c'est ok 👌

Lien vers le commentaire
Partager sur d’autres sites

Le serveur Linux connecté en mode bridge fonctionne. Je peux le joindre à l'adresse IP du NAS.

J'ai abandonné le mode bridge et je l'ai connecté au réseau macvlan dont le nom lionel-macvlan-network a été défini lors de sa création. Ce nom apparaît dans l'onglet Réseau de Docker mais il n'apparaît pas dans la liste des réseaux présents dans ifconfig. Et d'ailleurs, si je tape ifconfig lionel-macvlan-network, la réponse est "Device not found".

Ce qui apparaît bien dans ifconfig, c'est vlan-init, nom que j'ai donné à l'interface virtuelle que j'ai crée à partir du réseau macvlan.

Je suppose que cela est normal.

Si c'est le cas, quelle adresse entrer pour accéder au serveur Linux sachant que j'ai indiqué un ip-range de 192.168.1.104/29 qui couvre six adresses IP, de 192.168.1.105 à 192.168.1.110. Lorsque par exemple j'indique http://192.168.1.105:8080, il ne se passe rien, comme si le serveur était injoignable.

 

PJ2.pdf PJ1.pdf

Modifié par CyberFr
On ne peut plus faire en sorte que les fichiers joints s'affichent directement dans le message ?
Lien vers le commentaire
Partager sur d’autres sites

il y a une heure, CyberFr a dit :

Le serveur Linux

De quoi parles-tu ?

il y a une heure, CyberFr a dit :

J'ai abandonné le mode bridge et je l'ai connecté au réseau macvlan dont le nom lionel-macvlan-network a été défini lors de sa création. Ce nom apparaît dans l'onglet Réseau de Docker mais il n'apparaît pas dans la liste des réseaux présents dans ifconfig. Et d'ailleurs, si je tape ifconfig lionel-macvlan-network, la réponse est "Device not found".

Ce qui apparaît bien dans ifconfig, c'est vlan-init, nom que j'ai donné à l'interface virtuelle que j'ai crée à partir du réseau macvlan.

Je suppose que cela est normal.

Oui c'est normal, les réseaux n'apparaissent pas via ifconfig, uniquement les interfaces. C'est docker network ls pour les lister.

il y a une heure, CyberFr a dit :

Si c'est le cas, quelle adresse entrer pour accéder au serveur Linux sachant que j'ai indiqué un ip-range de 192.168.1.104/29 qui couvre six adresses IP, de 192.168.1.105 à 192.168.1.110. Lorsque par exemple j'indique http://192.168.1.105:8080, il ne se passe rien, comme si le serveur était injoignable.

Si tu n'as pas précisé l'IP que tu veux donner à ton conteneur, il a dû en attribuer une dans le range que tu as spécifié.
Normalement je pense qu'il est possible de voir l'IP du conteneur en question via l'interface Docker de DSM ?

Si pas, en SSH tu fais :

docker network inspect lionel-macvlan-network

Tu verras la liste des conteneurs adjoints au réseau macvlan.

Il faut aussi regarder l'état du conteneur, s'il est mal configuré ou qu'il plante et qu'il redémarre en boucle, tu ne pourras pas joindre l'interface que tu t'attends visiblement à avoir sur le port 8080. Et ce ne sera pour autant pas la faute de la configuration du réseau.

Lien vers le commentaire
Partager sur d’autres sites

Je poste ce que je vois dans Docker concernant le réseau macvlan et ce qui apparaît avec la commande docker network inspect.

linuxserver est le nom que j'ai donné au container.

Le log du container ne contient aucune alerte.

Je n'arrive pas à trouver l'IP du container.

PJ1.png

PJ2.png

Lien vers le commentaire
Partager sur d’autres sites

J'ai recréé le réseau macvlan en ajoutant l'option --aux-address, pensant que ce serait l'adresse par défaut du container et qu'il suffirait de s'en servir pour y accéder.

docker network create -d macvlan \
--subnet=192.168.1.0/24 \
--ip-range=192.168.1.104/29 \
--gateway=192.168.1.254 \
--aux-address="myvlan=192.168.1.105" \
-o parent=eth0 \
my-macvlan-network

Je crée l'interface virtuelle avec un script exécuté au démarrage du NAS.

sleep 60
ip link add vlan-la link eth0 type macvlan mode bridge
ip addr add 192.168.1.200/32 dev vlan-la
ip link set dev vlan-la address 5E:00:01:02:03:04
ip link set vlan-la up
ip route add 192.168.1.104/29 dev vlan-la
echo "$(date "+%R:%S - ") Script vlan-init terminé"
exit

Mais quand j'indique http://192.168.1.105:8080, il ne se passe rien. Il y a pourtant dans le réseau my-macvlan-network une AuxillaryAddresses qui pointe sur 192.168.1.105.

Ce problème est vraiment lié à l'interface macvlan car lorsque je déconnecte le containeur de cette interface et que je le connecte en mode bridge je peux y accéder.

PJ1.png

PJ2.png

PJ3.png

Lien vers le commentaire
Partager sur d’autres sites

@MilesTEG1, merci pour la réponse,

Mon problème est simple, avec quelle adresse IP unique puis-je me connecter au container sur le réseau macvlan (container dont j'ai changé le nom au passage parce que certains m'ont moqué d'avoir choisi linuxserver 🙂). À quel niveau puis-je définir cette adresse ?

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.