Aller au contenu

Featured Replies

Posté(e)

Bonjour à tous,

Je commence un nouveau sujet spécifique Docker pour éviter d'en mettre de partout.

Pour ma part les premiers essais n'ont pas été concluants. A chaque démarrage d'un conteneur, Docker me renvoyait une erreur d'API.

Après le redémarrage de cette nuit j'ai réussi à démarrer le needo/plex.

Et après???

Je ne peux accéder au port marqué dans la conf (ici 49153/local et 32400/conteneur)

Comment accède t-on du coup aux fichiers de conf etc...

Bref j'en revient à ma première demande, ça serait cool si un super génie du Docker voulait bien nous faire un petit topo voir un beau petit mod op.

Merci et bon week-end :)

Posté(e)

Pour docker de manière générale, je peux peut être t'aider, mais je ne l'ai pas encore testé sur le syno. Je vais donc partir du principe que c'est du standard.

Si le conteneur est bien lancé (docker ps), vérifie les règles de parefeu (iptables -L -v -n) et de nat (iptables -t nat -L -v -n).

Si tu ne vois ton conteneur, vérifie qu'il existe (docker ps -a) et démarre le (docker start <id du conteneur>) et vérifie de nouveau les règles de parefeu et de nat

Posté(e)

pour lancer les commande, faudra surement par contre aller les rechercher dans le bon dossier

--> /var/package/<nom application>/target/bin ;)

Modifié par Gaetan Cambier

Posté(e)
  • Auteur

Merci pour vos réponses.

Et moi qui aime tant les interfaces graphiques... C'est partis en mode putty. Je vous fait un retour dès que possible.

Posté(e)

un petit tuto serait pas de refus car Docker est assez abstrait à première vue mais son potentiel certains.

J'ai téléchargé une image, mais l'assistant me laisse perplexe.

Ce que je me demande ensuite c'est comment on accède à tout ça ensuite ...

Posté(e)

J'ai testé vite fait => même problème (via l'interface comme en ligne de commande)

Dès que l'on modifie (ou créé) une configuration, il faut rebooter le syno pour que ça fonctionne

D'après les logs il y a un problème au moment de lire la conf quand on essaye d'utiliser l'API (le problème est le même

Je ne sais pas ce qui est fait en plus, ou en moins au moment du reboot

Par contre il y a une mise à jour du paquet Docker qui corrige le bug

edit : par contre ATTENTION, même comportement par défaut dans le syno que docker

l'installation de docker transforme votre synology en routeur-nat

Modifié par Fenrir

Posté(e)

Bonjour,

comment télécharger le Docker svp?

J'ai mis à jour mon DS413 avec la 5.2, mais dans le centre des paquets je ne trouve pas le Docker... <_<

Merci.

Modifié par Poupidou

Posté(e)

5.3 pas possible, c'est une 5.2 beta

et docker est reservé au nas serie + et xs (gamme entreprise)

Oui 5.2 j'ai glissé chef ^^

Ok merci pour ton retour ;)

Posté(e)

Liste des modèles compatibles (processeurs Intel) avec Docker :

15-Série :	RS815(RP)+,  DS3615xs,  DS2415+,  DS1815+,  DS1515+,  DS415+
14-Série :	RS3614xs+,  RS3614(RP)xs,  RS2414(RP)+,  RS814(RP)+
13-Série :	RS10613xs+,  RS3413xs+,  DS2413+,  DS1813+,  DS1513+,  DS713+
12-Série :	RS3412(RP)xs,  RS2212(RP)+,  RS812(RP)+,  DS3612xs,  DS1812+,  DS1512+,  DS712+,  DS412+
11-Série :	RS3411(RP)xs,  RS2211(RP)+,  DS3611xs,  DS2411+,  DS1511+,  DS411+II,  DS411+
10-Série :	RS810(RP)+,  DS1010+,  DS710+ 

Source : https://www.synology.com/fr-fr/dsm/app_packages/Docker

Posté(e)

Liste des modèles compatibles (processeurs Intel) avec Docker :

15-Série :	RS815(RP)+,  DS3615xs,  DS2415+,  DS1815+,  DS1515+,  DS415+
14-Série :	RS3614xs+,  RS3614(RP)xs,  RS2414(RP)+,  RS814(RP)+
13-Série :	RS10613xs+,  RS3413xs+,  DS2413+,  DS1813+,  DS1513+,  DS713+
12-Série :	RS3412(RP)xs,  RS2212(RP)+,  RS812(RP)+,  DS3612xs,  DS1812+,  DS1512+,  DS712+,  DS412+
11-Série :	RS3411(RP)xs,  RS2211(RP)+,  DS3611xs,  DS2411+,  DS1511+,  DS411+II,  DS411+
10-Série :	RS810(RP)+,  DS1010+,  DS710+ 

Source : https://www.synology.com/fr-fr/dsm/app_packages/Docker

ok merci. Un peu déçus

Vous savez si cette liste peut évoluer et avoir de nouveaux modéles?

Posté(e)
  • Auteur

J'ai testé vite fait => même problème (via l'interface comme en ligne de commande)

Dès que l'on modifie (ou créé) une configuration, il faut rebooter le syno pour que ça fonctionne

D'après les logs il y a un problème au moment de lire la conf quand on essaye d'utiliser l'API (le problème est le même

Je ne sais pas ce qui est fait en plus, ou en moins au moment du reboot

Par contre il y a une mise à jour du paquet Docker qui corrige le bug

edit : par contre ATTENTION, même comportement par défaut dans le syno que docker

l'installation de docker transforme votre synology en routeur-nat

Oui en effet j'ai passé la mise à jour mais pas franchement moyen de faire grand chose avec.

Je reste donc sur ma demande de tuto...

Une fois les commandes Docker passées au bon endroit il faut encore configurer son conteneur

Par exemple Wordpress attend un chemin vers une base ou Cenreon attend un répertoire...

Et là bah comment dire c'est le vide.

Une liste des images dispo ou une proposition des plus utilisés pourrait être pas mal aussi, parce-qu’il y a l'air d'en avoir pléthore et sans doute certaines super cool auxquelles on n'a même pas pensé.

Posté(e)

Vous savez si cette liste peut évoluer et avoir de nouveaux modéles?

Il faut demander à Synology directement.

Mais à mon avis les modèles inférieurs n'en bénéficieront pas principalement à cause de la quantité de RAM consommée par les conteneurs.

Posté(e)

Je bosse actuellement sur un container spksrc pour compiler les packages donc a priori on pourrait lancer ça sur un Syno c'est intéressant même si la quantité de ressources nécessaires pour compiler un package est certainement trop importante pour un NAS et quand bien même ça passerait ce serait super lent. Déjà que je met des heures pour compiler python pour toutes les architectures sur mon i7...

Posté(e)

Oui en effet j'ai passé la mise à jour mais pas franchement moyen de faire grand chose avec.

 

Je reste donc sur ma demande de tuto...

 

Une fois les commandes Docker passées au bon endroit il faut encore configurer son conteneur

Par exemple Wordpress attend un chemin vers une base ou Cenreon attend un répertoire...

Et là bah comment dire c'est le vide.

 

Une liste des images dispo ou une proposition des plus utilisés pourrait être pas mal aussi, parce-qu’il y a l'air d'en avoir pléthore et sans doute certaines super cool auxquelles on n'a même pas pensé.

 

Si tu débutes, je te recommande de te limiter aux conteneurs marqués "Officiel" ou aux conteneurs les plus populaires, ils sont (presque) toujours très bien documentés.

Commence par regarder le DockerFile.

 

Je ne vais pas faire un tuto ici, il y en a plein sur le net, mais je peux t'indiquer le fonctionnement général, ça devrait t'aider pour la suite.

Avant de commencer, il y a un truc à comprendre : la notion d'image

Sans rentrer dans le détail et en simplifiant à l’extrême, une image est un conteneur en lecture seul qui va servir de base aux conteneurs que tu vas lancer.

Par exemple quand tu démarres un conteneur busybox (l'un des plus petits), docker ne modifie pas l'image, il ne la duplique pas non plus, il en fait une branche qui ne contiendra que le delta entre l'image d'origine et ton conteneur.

 

Je tenais à préciser ce point car beaucoup de personnes pensent qu'en lançant 100 conteneurs depuis une même image (on va dire de 300Mo), ils vont consommer 100*300Mo => c'est faux

Ils vont consommer 300Mo + le delta de tout ce qu'ils vont modifier dans les 100 conteneurs.

 

 

Pour l'exemple de ton wordpress:latest :

 

Donc pour lancer un conteneur wordpress:latest, docker va automatiquement télécharger les images wordpress:latest, debian:jessie et php:5.6-apache.

Au final tu as donc au moins 3 images. "Au moins" car les images sont souvent déclarées sous plusieurs noms (debian:jessie = debian:8 = debian:8.0), mais ça ne pèse pas plus lourd.

 

Une fois que tu as tous les fichiers nécessaires à l’exécution du conteneur, tu peux l'exécuter lire la doc. (https://registry.hub.docker.com/_/wordpress/)

Comme tu sembles l'avoir compris, ce conteneur a besoin d'une base de donnée (en l’occurrence MySQL ou MariaDB), si tu en as déjà une (par exemple le paquet Syno), il suffit de lui donner l'adresse au lancement du conteneur (en général, les paramètres de lancement d'un conteneur sont transmis via des variables d'environnement, ici WORDPRESS_DB_HOST)

Si ton serveur sql est un autre conteneur, tu peux "lier" tes 2 conteneurs avec --link (tous les conteneurs ne sont pas "linkable").

 

Dans tous les cas, tu peux le faire via l'interface du syno ou en commande.

 

Admettons que tu souhaites utiliser un conteneur MariaDB (https://registry.hub.docker.com/_/mariadb/) :

docker run --name some-mariadb -e MYSQL_ROOT_PASSWORD=mysecretpassword -d mariadb

Tu as maintenant un serveur MariaDB.

Tu n'as plus qu'à lancer ton wordpress :

docker run --name some-wordpress --link some-mariadb:mysql -p 8080: -d wordpress

that's all, wordpress t'attend sur le port 8080 de ton synology

 

Au final, tu auras juste exécuté 2 commandes, qui sont dans la doc, docker pour sa part aura :

  1. téléchargé les images nécessaires (debian, mariadb, php et wordpress)
  2. démarré un conteneur mariadb sous le nom : some-mariadb
  3. démarré un conteneur wordpress sous le nom : some-wordpress
  4. lié les 2
  5. fait un nat sur le port 8080 de ton syno vers le port 80 du conteneur some-wordpress

 

Il y aurait plein de choses à ajouter, mais je te laisse chercher un peu

edit : dans les choses à ajouter, j'ai oublié d'indiquer qu'il existe des conteneurs wordpress clef en main (linux+apache+php+mysql+wordpress), mais je trouve ça plus sympa de jouer aux lego

Modifié par Fenrir

Posté(e)

Je ne comprend pas pourquoi Synology propose sa propre interface de gestion alors que plein d'interfaces existent déjà et sont bien mieux foutues.

Posté(e)

Je ne comprend pas pourquoi Synology propose sa propre interface de gestion alors que plein d'interfaces existent déjà et sont bien mieux foutues.

d’ailleurs pourquoi syno propose le DSM, après tout on peut tout faire directement (c'est un simple linux en dessous), soit en commande soit avec divers soft, ...

L’intérêt des syno c'est de fournir un ensemble homogène, intégré et simple aux utilisateurs.

Ils ont sans doute trouvé plus simple de fournir cette interface (qui couvre 90% des besoins) que de passer du temps à intégrer un autre produit (qui n'est peut être pas sous la même licence, ni codé dans le même langage que le reste de dsm)

Mais comme rien ne t’empêche d'installer toi même une autre interface (il y a même des conteneurs dédiés à l'administration de docker), je n'y vois pas de problèmes

Posté(e)

diaoul, je sais pas tester, mais en faisant une recherche sur docker, j'ai vu que quelqu'un avait fait un container avec ton spksrc deja

mais c'est sur que c'est lent la compil sur le nas, l'avais fait au debut avec le debian chroot, cétait horrible

Posté(e)

d’ailleurs pourquoi syno propose le DSM, après tout on peut tout faire directement (c'est un simple linux en dessous), soit en commande soit avec divers soft, ...

L’intérêt des syno c'est de fournir un ensemble homogène, intégré et simple aux utilisateurs.

Ils ont sans doute trouvé plus simple de fournir cette interface (qui couvre 90% des besoins) que de passer du temps à intégrer un autre produit (qui n'est peut être pas sous la même licence, ni codé dans le même langage que le reste de dsm)

Mais comme rien ne t’empêche d'installer toi même une autre interface (il y a même des conteneurs dédiés à l'administration de docker), je n'y vois pas de problèmes

Je n'ai pas testé moi meme mais rien qu'a lire ce fil je n'ai pas l'impression que cette interface soit une réussite absolue concernant la facilité d'utilisation. Je ne comprends pas ta remarque concernant DSM, je n'ai nulle part critiqué DSM mais l'interface Docker. DSM n'a pas d'équivalent (ou peu) alors que des interfaces Docker en cherchant 5 minutes sur GitHub j'en ai trouvé 3 totalisant plus de 5000 "stars", tous avec des licenses permissives.

Oui à l'innovation, non à réinventer la roue.

L'image Docker spksrc ne fonctionne pas correctement, je suis en train de faire la mienne. Le but n'est pas de faire tourner spksrc sur un NAS mais de le rendre plus accessible aux packagers.

Posté(e)
  • Auteur

@Fenrir

Merci pour cette introduction plus que complète. (Mais dans quoi je me suis embarqué...)

Il n'y a plus qu'à s'y mettre maintenant. ^_^

Posté(e)

Je n'ai pas testé moi meme mais rien qu'a lire ce fil je n'ai pas l'impression que cette interface soit une réussite absolue concernant la facilité d'utilisation. Je ne comprends pas ta remarque concernant DSM, je n'ai nulle part critiqué DSM mais l'interface Docker. DSM n'a pas d'équivalent (ou peu) alors que des interfaces Docker en cherchant 5 minutes sur GitHub j'en ai trouvé 3 totalisant plus de 5000 "stars", tous avec des licenses permissives.

Oui à l'innovation, non à réinventer la roue.

L'image Docker spksrc ne fonctionne pas correctement, je suis en train de faire la mienne. Le but n'est pas de faire tourner spksrc sur un NAS mais de le rendre plus accessible aux packagers.

désolé, j'avai mal compris ta remarque et j'ai mal exprimé mon avis, méa culpa

Je comprends ton point de vue et, en général, je le partage : réinventer la roue des effets pervers ... mais ça a aussi, parfois, de bons cotés

Dans le cas présent l'interface est plutôt bien pensée et suffisamment simple pour le pas faire fuir les débutants tout en étant suffisamment complète afin de répondre à la plupart des besoins des utilisateurs confirmés.

J'irai presque jusqu'à dire que c'est une des plus réussi pour un usage "domestique" (à opposer à professionnel)

De ce que j'ai pu lire ici et ailleurs, les difficultés rencontrées ne sont liées à l'interface, mais à la compréhension de Docker de manière générale.

D'où mon "introduction" à Docker, avec des commandes plutôt que des captures de l'interface (cf post suivant).

Quand à ma remarque sur DSM, c'était pour l'exemple, il existe de nombreux produits qui offrent tout ou partie des fonctions de DSM, mais c'est la marque de fabrique de Synology.

Posté(e)

On recherche MySQL :

syno-docker-02.png

Téléchargement de la dernière version :

syno-docker-03.png

Lancement avec l'assistant :

syno-docker-04.png

Le nom du conteneur :

syno-docker-05.png

Dans les paramètres avancés, on ajoute les variables d'environnement indiquées dans la doc du conteneur (ici seul le mot de passe est nécessaire) :

syno-docker-06.png

Et on démarre le conteneur :

syno-docker-07.png

C'est fini pour MySQL :

syno-docker-08.png

On recommence avec Wordpress, cette fois précise qu'il doit être accessible depuis le port 8080 du syno :

syno-docker-09.png

On créé le lien avec le conteneur MySQL :

syno-docker-10.png

la fin avec des liens (trop d'images)

Et on le démarre

Nos 2 conteneurs sont lancés, il n'y a plus qu'à tester :

Le résultat

Perso je préfère les 2 commandes :D

Modifié par Fenrir

Posté(e)

j'ai pas lu la doc, mais question toute bete : si tu veux p-e modifier un fichier du container en ssh (fichier de config ou autre), tu fait comment pour y accéder ?

Posté(e)

j'ai pas lu la doc, mais question toute bete : si tu veux p-e modifier un fichier du container en ssh (fichier de config ou autre), tu fait comment pour y accéder ?

Avant tout il garder à l'esprit qu'un container n'est pas un OS à part entière comme l'est une machine virtuelle, ça se rapproche plus d'un chroot/jail dopé aux amphétamines.

Il faut plus le voir comme un ensemble d'applications enfermées dans une boite.

Si parmi ces applications il y a un serveur ssh, alors tu peux directement (à une redirection de port prêt) modifier des fichiers en ssh à l'intérieur du container

Mais tu peux aussi exposer tout ou partie des fichiers d'un container dans le système hôte, ou dans un autre container

Tu as aussi la possibilité d'entrer dans un container, s'il dispose d'un shell (c'est le cas dans 99.99% des cas), tu pourras modifier directement tes fichiers

Posté(e)

ok merci ;)

par contre, je ne comprend pas syno, docker est reservé aux modèle intel --> en général haut de gamme

mais maintenant, synology sort ses modeles haut de gamme en annapurna (arm)

c'est le cas du ds715+, ds2015xs, ds1515 (p-e moin au de gamme pour ce dernier, on ne sais pas encore tout de lui)

si synology supprime ses modèle intel, docker n'est-il pas voué à disparaitre malheureusement ? (sauf p-e sur le très haut de gamme ou les gros cpu ne sont pas encore remplacable par des arm)

Modifié par Gaetan Cambier

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…

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.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.