tag:linuxfr.org,2005:/tags/containers/publicLinuxFr.org : les contenus étiquetés avec « containers »2023-08-08T07:13:12+02:00/favicon.pngtag:linuxfr.org,2005:Bookmark/69402023-08-07T22:13:18+02:002023-08-07T22:13:18+02:00Le projet Linux Containers fork LXD<a href="https://www.phoronix.com/news/Linux-Containers-LXD-Incus">https://www.phoronix.com/news/Linux-Containers-LXD-Incus</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/132933/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/ff9097/liens/le-projet-linux-containers-fork-lxd#comments">ouvrir dans le navigateur</a>
</p>
ff9097https://linuxfr.org/nodes/132933/comments.atomtag:linuxfr.org,2005:Bookmark/60712023-03-10T21:06:05+01:002023-03-10T21:06:05+01:00podman dans netbsd<a href="https://mail-index.netbsd.org/netbsd-users/2021/09/04/msg027645.html">https://mail-index.netbsd.org/netbsd-users/2021/09/04/msg027645.html</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/130561/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/psychofox/liens/podman-dans-netbsd#comments">ouvrir dans le navigateur</a>
</p>
Psychofoxhttps://linuxfr.org/nodes/130561/comments.atomtag:linuxfr.org,2005:Post/430442022-07-29T08:08:38+02:002022-07-29T08:09:17+02:00pb avec letsencrypt et docker<p>bonjour</p>
<p>je me remet a nextcloud avec un petit lenovo (amd64) à la place d'un RPI, j'aimerais l'utiliser avec docker pour simplifier les choses. la je bloque depuis quelques temps.</p>
<p>du coup j'arrive très bien à lancer un container avec nextcloud, un autre avec mariadb, je pense avoir compris les montages local pour garder des fichier hors du container.</p>
<p>du coup je me dis qu'avec un certificat letsencrypt ce serais parfait, il y pleiiin de tuto pour le faire complétement avec docker. aucun ne fonctionne :( pour le moment.</p>
<p><a href="https://blog.ssdnodes.com/blog/installing-nextcloud-docker/">https://blog.ssdnodes.com/blog/installing-nextcloud-docker/</a> (je copie et colle le fameux fichier yml après avoir essayer l'ensemble de sa procédure par étape)</p>
<p>nextcloud+mariadb+letsencrypt+nginx pour le proxy</p>
<p>la stratégie est d'utiliser nginx comme proxy et le certificat pour nginx</p>
<p>a force d'essayer, je pense que je dois configurer au petit oignon nginx + letsencrypt pour le mode proxy avec un montage local pour les fichier de configuration ce qu'il n'y a pas (trop) dans le tuto. lorsque je fini l'installation, la configuration etc … en HTPPS j'ai un erreur 503, et en http ca fonctionne :) mais il n'y a pas de certificat, forcement.</p>
<p><strong>MA QUESTION :</strong> est ce quelqu'un parmis vous à réussi ce genre de configuration avec docker ?<br>
que des container: nextcloud+mariadb+letsencrypt+nginx.</p>
<p>si je sais que c'est possible je creuserais de mon coté un peu plus, sinon je me passerais du https, j'ai un peu besoin de mon nextcloud même si je n'ai aucune urgence.</p>
<p>soyons fou, avoir carrément le fichier yml fonctionnel + les fichier de config deporter/monter localement, mais c'est un poil trop facile à mon gout :)</p>
<div><a href="https://linuxfr.org/forums/programmationautre/posts/pb-avec-letsencrypt-et-docker.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/128393/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/programmationautre/posts/pb-avec-letsencrypt-et-docker#comments">ouvrir dans le navigateur</a>
</p>
ChocolatineFlyinghttps://linuxfr.org/nodes/128393/comments.atomtag:linuxfr.org,2005:Diary/397712021-05-15T21:04:56+02:002021-05-15T21:04:56+02:00Fedora Silverblue sur un mini laptopLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li>
<ul>
<li><a href="#toc-choix-de-la-distribution-et-support">choix de la distribution et support</a></li>
<li><a href="#toc-exp%C3%A9rience-flatpak-mitig%C3%A9e">Expérience flatpak mitigée</a></li>
<li><a href="#toc-installations-dapplications-alternatives">Installations d'applications: alternatives</a></li>
<li><a href="#toc-les-cas-nixguixpkgsrc">les cas nix/guix/pkgsrc</a></li>
<li><a href="#toc-la-compilation-des-applis">la compilation des applis</a></li>
<li><a href="#toc-le-cas-des-applis-%C3%A9crites-dans-des-langages-interpr%C3%A9t%C3%A9s">le cas des applis écrites dans des langages interprétés</a></li>
<li><a href="#toc-les-conteneurs">les conteneurs</a></li>
<li><a href="#toc-loutil-toolbox">l'outil Toolbox</a></li>
<li><a href="#toc-conclusion">Conclusion</a></li>
</ul>
</li>
</ul>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f692e696d6775722e636f6d2f584f736e396d452e6a706567/XOsn9mE.jpeg" alt="" title="Source : https://i.imgur.com/XOsn9mE.jpeg"></p>
<p>Aujourd'hui je vais vous compter une expérience récente l'acquisition un mini laptop 7", le Pocket 2 de la marque GPD. On pourrait palabrer longtemps sur la pertinence de ce type de mini laptop à processeur intel lorsque les smartphones sont de plus en plus efficaces et où une tablette tournant sur ios ou android pourrait aisément remplir le même usage associé à un clavier externe. Pour ma part le choix s'est fait pour les raisons suivantes:</p>
<ul>
<li>je voulais un outil le plus léger et compact possible pour pouvoir l'emporter avec moi en vélo ou autre activité sociale ou d'extérieur lorsque je suis d'astreinte sans avoir à porter un lourd sac à dos. Même les solutions à base de petite tablette + clavier ont du mal à passer sous les 600gr.</li>
<li>je voulais un système libre. Les tablettes supportées par lineageOS sont essentiellement des modèles haut de gamme chères et/ou difficilement trouvable en bon état d'occasion.</li>
<li>je veux un truc fiable. D'expérience, les trucs à base de bluetooth c'est pas toujours top et tu dois des fois t'énerver à desappairer/reappairer le bordel pour que tout remarche. Je ne veux pas devoir gérer ce genre d'épisode quand je réponds à une alerte du monitoring ou un appel d'un collègue/client.</li>
<li>je voulais un truc qui soit maintenu/maintenable plusieurs années et qui peut éventuellement être réutilisé comme mini serveur le jour où la batterie perd beaucoup d'autonomie, j'ai essayé une fois avec un vieux smartphone et une vieille tablette. Malgré quelques applis serveurs et termux, c'était difficilement réutilisable en quelque chose de sécu et pertinent.</li>
<li>je voulais un système très proche du laptop que j'utilise au quotidien, sur lequel je peux utiliser les mêmes outils et applications et synchroniser certaines config.</li>
</ul>
<p>Il existe d'autres modèles de mini laptop, de la marque onemix par exemple, ou son frère le GPD Pocket 2 Max qui disposent d'un vrai trackpad, un clavier plus agréable et un cpu plus puissant mais celui-ci a gagné la main pour son prix plus abordable et son poids/ encombrement plus réduit.</p>
<h3 id="toc-choix-de-la-distribution-et-support">choix de la distribution et support</h3>
<p>Ce modèle a déjà quelques années donc toute éventuel problème de support matériel a été réglé depuis belle lurette et on peut choisir sa distro avec sérénité. Vu que ce laptop n'est pas utilisé quotidiennement, je me suis orienté vers un systèm̀e atomique afin de faciliter les mises à jours système. Utilisant quotidiennement Fedora sur mes laptops pros et personnels, mon choix s'est naturellement tourné vers Fedora Silverblue, initialement dans sa version beta 34. Il propose un système à base de rpm-ostree où les répertoires systèmes sont montés en lecture seule à base d'image. Une update consiste à télécharger une nouvelle image et l'utiliser au boot suivant. En cas de problème le boot sur l'image précédente reste accessible via une entrée grub. L'usage normal proposé pour les applications supplémentaires est de les installer dans le home de l'utilisateur sous forme de flatpaks ou de containers via podman. En cas de non disponibilité ou pour installer une appli touchant au plus près au système il est possible d'utiliser rpm-ostree pour l'installer sous forme de couche supplémentaire de type "overlay" mais globalement il est conseillé d'éviter pour garder l'atomicité du système.</p>
<p>La particularité de ce laptop est qu'il a sans doute été fabriqué avec un écran tactile destiné aux tablettes dont le sens par défaut est en mode portrait. J'imagine que le windows 10 qui vient livré avec dispose d'un driver qui réoriente tout dès le départ mais sur un linux ce n'est pas le cas jusqu'à ce que tu le configure dans le bon sens. Pour ma part j'ai atteins un stade où grub, gdm et gnome sont en mode paysage mais le reste du boot, y compris l'invite pour déchiffrer la partition LUKS, sont en mode portrait. Du coup quand on zappe plymouth pour voir les logs du boot on a l'impression de regarder les leds d'un equalizer. C'est pour l'installation que c'est plus compliqué car le seul moyen de le connecter à un écran est d'utiliser usb-c, je n'avais pas d'écran avec entrée usb-C et la seule connectique que j'avais à ce moment à disposition était une docking usb-c nécessitant un driver display link. Heureusement l'écran se déploie à plat et je l'ai donc connecté à clavier et souris externe en le regardant en mode portrait, posé comme un livre sur un pupitre.</p>
<p>Une fois installé dans gnome l'orientation se fixe de manière permanente dans l'option orientation de l'outil de paramétrage des écrans. Cela génère un fichier dans <code>~/.config/monitors.xml</code> qu'il suffit de copier dans <code>/var/lib/gdm/.config</code> pour qu'il l'applique aussi à l'invite de login.</p>
<p>Le reste est sans histoire.</p>
<h3 id="toc-expérience-flatpak-mitigée">Expérience flatpak mitigée</h3>
<p>Le repo flatpak Fedora fournit avec la Silverblue se limite aux applications Gnome. Une fois installé le flathub comme source on a accès à un peu plus mais force de constater qu'en terme d'applications disponibles et intéressantes, le flathub c'est un peu le désert de Gobi. Pire, la qualité des packages, non auditée ni soumise à des règles strictes, est très inégales et certaines applications une fois installées ne démarrent tout simplement pas et certaines applications packagées ont parfois des fonctionnalités bridées par le sandboxing si il n'a pas été pris en considérations lors de son developement. Cela touche particulièrement les applications ayant un support de plugin ou des fonctionnalités d'exports où les chemins utilisables seront différents de ceux mentionnés dans la documentation. Un admin chevronné et rompu au concept des sandbox peut s'en sortir, mais je pense que c'est inadapté et déroutant pour un débutant ou quelqu'un de non intéressé par ce qui se passe sous le capot.</p>
<p>Cette expérience mitigée m'a fait étudier les différents autres modes d'installation/exécutions à notre disposition.</p>
<h3 id="toc-installations-dapplications-alternatives">Installations d'applications: alternatives</h3>
<p>Nous vivons dans un monde où certaines applications sont fournies sous forme de paquets AppImage, téléchargeables sous forme de binaire statique sur une forge. C'est typiquement le cas, mais pas exclusif, des outils cli écris en go de l'univers devops/kubernetes. On a aussi la tripotée d'outil installable via un script shell, le fameux curl pipé vers bash. Non seulement c'est très bordélique mais en plus c'est parfois incompatible avec une distro ayant le système en lecture seule quand cela demande des droits root et que le script tente d'écrire dans des dossier systèmes sans contrôle des destinations par l'utilisateur.<br>
Globalement, même si je n'exclus pas ce moyen pour certaines applications que j'apprécie vraiment, comme le très pratique client kubernetes k9s, je tente de limiter ces modes d'installation au maximum car c'est une plaie à gérer en terme de maintenance et mises à jours, sans compter sur l'obscurité et la confiance nécessaire pour les installeurs. Aussi, en terme de sécurité c'est pas top. Ayant toute liberté sur le répertoire home de l'utilisateur, il suffit qu'une seule application soit accompagnée de code malicieux pour que celui-ci se répande sur tout autre binaire installé de la même manière.</p>
<p>Cette expérience mitigée m'a fait étudier les différents autres modes d'installation/exécutions à notre disposition.</p>
<h3 id="toc-les-cas-nixguixpkgsrc">les cas nix/guix/pkgsrc</h3>
<p>Ces 3 systèmes s'attendent à pouvoir écrire dans / et ne sont pas adaptés à silverblue. Il est possible de les faire tourner dans un schroot ou proot (pour les amoureux de weboob) mais encore faut-il avoir le binaire statique dans son homedir pour pouvoir l'exécuté. C'est au final peu élégant.</p>
<h3 id="toc-la-compilation-des-applis">la compilation des applis</h3>
<p>Si le projet est petit, actif, respecte l'utilisateur final et présente proprement ses sources avec descriptions des dépendances et recettes de constructions (makefile, meson, …) c'est relativement sans douleur. Dès que le projet est plus gros on rigole moins (temps de compilation, consommation énergétique,…) et si le dev est brouillon ou ne gère pas bien le cycle de vie de ses dépendances toute la simplicité disparaît. Et on en revient à faire le travail d'un mainteneur de package de distro, vite chronophage si l'application doit être mise à jour fréquemment pour raison de sécurité.</p>
<h3 id="toc-le-cas-des-applis-écrites-dans-des-langages-interprétés">le cas des applis écrites dans des langages interprétés</h3>
<p>Dans le cas d'applications en ligne de commande, nombre d'entre elles s'installent facilement via les outils tels que pip, rubygem, npm, cpan (et j'en passe). De plus ces projets de partage de modules ont de la peine à convaincre quand à leur capacité d'audit des modules présentés et les dev analysent rarement le code des modules dont ils font dépendent leurs applications. Il est relativement facile de contaminer des centaines voir milliers de projets à partir d'un module très populaire.</p>
<p>Pour les applications ayant des dépendances plus complexes ou utilisant des toolkits graphiques particuliers, l'installation à partir des sources du projet est un peu plus aléatoire.</p>
<h3 id="toc-les-conteneurs">les conteneurs</h3>
<p>L'utilisation des conteneurs parait de prime abord fastidieuse. D'une part je n'aime pas utiliser des images toute faites par des inconnus et je préfère me limiter aux images de base officielles des distros ou de gros projets upstream sérieux. Il peut m'arriver de naviguer dans le docker hub, découvrir des images intéressantes, mais dans ce cas- ou de gros projets upstream sérieux. Il peut m'arriver de naviguer dans le docker hub, découvrir des images intéressantes, mais dans ce cas-là j'irai chercher le dockerfile correspondant sur la forge ad hoc, analyser le contenu et éventuellement recréer l'image en local. Pour le cas de l'installation d'une appli packagée par les distros, l'écriture d'un dockerfile avec 3 instructions simples FROM/RUN/CMD suivi d'un podman build est relativement rapide mais toujours moins que de faire un <code>dnf/apt install</code> ou <code>pacman -S</code>. Au final on se retrouve aussi vite avec une palanquée d'images avec dockerfile correspondantes à maintenir et construire/mettre à jour régulièrement pour avoir des applis à jour. Si on possède plus d'une machine dispo on a vite intérêt à mettre en place un flux de travail de type déploiement continu avec reconstruction des images automatiques et push vers une registry publique ou privée.</p>
<p>Cette organisation est fragile, et peut casser à tout moment si on ne se limite pas à des paquets disponibles via les distributions et oblige à se maintenir au courant des changements des projets upstream. Projet qui change de forge, source qui ne compile plus sans faire des changements dans les dépendances, chemin et nom des binaires précompilés difficiles à deviner/automatiser, etc.</p>
<h3 id="toc-loutil-toolbox">l'outil Toolbox</h3>
<p>Toolbox est un outil dont le but est de faciliter la création d'environnements dédiés utilisant les conteneurs avec podman. C'est un peu comme un virtualenv pour les pythoniste mais se fait à niveau d'une distro, un peu comme installer un chroot mais en plus facile et plus élégant. S'il n'est à la base pas destiné à cet usage il est parfaitement apte à fournir la possibilité à un utilisateur d'installer rapidement un ou une liste de packages, de séparer logiquement des environnements d'exécution (travail, loisir, jeu) et simplifie la gestion des containers. Pas besoin de déclarer manuellement le montage du home pour avoir y avoir accès. Sous Silverblue, l'installation d'une appli se résume à créer une toolbox (<code>toolbox create mabox</code>), intaller l'appli via dnf (<code>toolbox run -c mabox sudo dnf install -y monappli</code>) et l'exécuter (<code>toolbox run -c mabox monappli</code>). Les applis graphiques fonctionnent (en tout cas sous wayland, je n'ai pas testé hors de gnome sous wayland). C'est donc devenu mon outil privilégié pour installer des applis sur mon Pocket 2.</p>
<p>Mais il y a un bémol. Il en fallait bien un non? Tout appli qui devrait être accessible rapidement via le launcher de votre environnement de bureau favori ne l'est pas. Ben oui, le fichier <code>.desktop</code> est confiné dans la toolbox. Alors il est possible de le créer manuellement dans votre <code>~/.local/share/applications</code> mais c'est pas drôle, et requiert une recherche/copie manuelle de l'icône si vous en voulez un.</p>
<h3 id="toc-conclusion">Conclusion</h3>
<p>Mis à part que la touche <code>tab</code> et quelques autres ne sont jamais là où je le voudrais je suis assez content de mon GPD Pocket 2. D'ailleurs ce journal a été intégralement écris avec celui-ci, d'abord dans un train Suisse, puis dans un avion easyjet pas réputé pour l'espace disponible pour travailler sur un ordinateur.</p>
<p>Je suis beaucoup moins convaincu par le flathub et l'utilisation d'une distro de bureau atomique. C'est une très bonne idée pour des systèmes serveurs destinés à héberger des applications sous forme de conteneurs mais pas encore prêt pour le desktop. Oui j'ai pu finalement installer tous les outils disponibles et toolbox m'a beaucoup facilité la tâche, mais il aurait été bien plus pratique et rapide d'utiliser une fedora traditionnelle. Si rpm-ostree facilite les maj système, je dois toujours continuer à maintenir les applications sur les toolbox à coup de dnf update. Je n'y ai pas gagné, ni en temps, ni en applications. Et pour qui veut toujours utiliser ses technologies pour des cas particuliers, podman et toolbox sont disponibles aussi sur une Fedora standard.</p>
<p>Je vais continuer encore à l'utiliser quelque temps car je veux tenter de faire tourner une toolbox sur une distro différente de la fedora. C'est techniquement possible, mais j'ai échoué à ma première tentative de construction d'images alpine, archlinux et nixos. Je dois éplucher un peu plus la doc et reviendrait un rapport en bonne et due forme.</p>
<div><a href="https://linuxfr.org/users/psychofox/journaux/fedora-silverblue-sur-un-mini-laptop.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/124294/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/psychofox/journaux/fedora-silverblue-sur-un-mini-laptop#comments">ouvrir dans le navigateur</a>
</p>
Psychofoxhttps://linuxfr.org/nodes/124294/comments.atomtag:linuxfr.org,2005:Post/418492021-02-04T12:24:04+01:002021-02-04T12:24:04+01:00Peut on purger le contenu de /var/lib/docker/overlay2/ ?<p>Hello,</p>
<p>Sur un serveur (jenkins) que j'ai mis en place récemment et qui exécute des dockers, je m'aperçois que le dossier /var/lib/docker/overlay2/ contient plein d'autre dossiers qui font chacun 200 Mb.</p>
<p>A quoi correspondent ces dossiers?<br>
Est-il possible de le purger sans risque?<br>
Y a t-il une best practice ? Comment être sur que je ne supprime pas un dossier correspondant à un docker en cours d'exécution?</p>
<p>Merci pour vos réponses.</p>
<div><a href="https://linuxfr.org/forums/linux-general/posts/peut-on-purger-le-contenu-de-var-lib-docker-overlay2.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/123204/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/linux-general/posts/peut-on-purger-le-contenu-de-var-lib-docker-overlay2#comments">ouvrir dans le navigateur</a>
</p>
Orwellhttps://linuxfr.org/nodes/123204/comments.atomtag:linuxfr.org,2005:Bookmark/17702020-07-09T10:44:45+02:002020-07-09T10:44:45+02:00Microsoft loves systemd<a href="https://www.phoronix.com/scan.php?page=news_item&px=Systemd-Host-Info-To-Containers">https://www.phoronix.com/scan.php?page=news_item&px=Systemd-Host-Info-To-Containers</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/121026/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/lawless/liens/microsoft-loves-systemd#comments">ouvrir dans le navigateur</a>
</p>
Lawlesshttps://linuxfr.org/nodes/121026/comments.atomtag:linuxfr.org,2005:Diary/379962018-06-22T19:57:01+02:002018-06-22T21:31:18+02:00Surface d'attaque des serveurs dans les nuages (cloud)Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<p>Passionnant et très utile article <a href="https://blog.hansenpartnership.com/containers-and-cloud-security/">sur le blog en anglais de James Bottomley</a> (merci <a href="https://lwn.net/Articles/757987/#Comments">LWN.net pour le résumé</a>) : il étudie la sécurité des solutions d'hébergement Cloud en se basant sur la solution retenue : serveurs dédiés, serveurs partagés, serveurs virtuels, conteneurs, et en comparant les profils d'attaques verticales et horizontales.</p>
<p>Comme vous aimez les conclusions rapides, sachez déjà que la solution conteneurs l'emporte haut la main.</p>
<p>Une attaque verticale c'est du code traversé : de la requête web à la base de donnée jusqu'à la réponse dans le navigateur ou l'application, et qui contient potentiellement des bugs, elle concerne uniquement votre hébergement :</p>
<blockquote>
<p>all code that is traversed to provide a service all the way from input web request to database update to output response potentially contains bugs; the bug density is variable for the different components but the more code you traverse the higher your chance of exposure to exploitable vulnerabilities. We’ll call this the Vertical Attack Profile (VAP) of the stack. </p>
</blockquote>
<p>Une attaque horizontale par contre peut se propager d'hébergement en hébergement :</p>
<blockquote>
<p>In an IaaS cloud, part of the vertical profile belongs to the tenant (The guest kernel, guest OS and application) and part (the hypervisor and host OS) belong to the CSP. However, the CSP vertical has the additional problem that any exploit in this piece of the stack can be used to jump into either the host itself or any of the other tenant virtual machines running on the host. We’ll call this exploit causing a failure of containment the Horizontal Attack Profile (HAP). </p>
</blockquote>
<p>La surveillance est répartie différemment selon l'hébergement, par exemble sur un serveur partagé l'hébergeur doit surveiller toute la pile : le matériel, le noyau, les librairies et le <a href="https://fr.wikipedia.org/wiki/middleware" title="Définition Wikipédia">middleware</a>, vous n'êtes responsable que de la couche applicative, tandis qu'avec un conteneur il surveille le matériel et le noyau hôte.</p>
<p>Mais les attaques sont aussi réparties différemment. Dans un hébergement partagé, si vous attaquez le noyau vous pouvez compromettre tout le système, donc tous les hébergements tandis qu'il est plus difficile de sortir d'un conteneur.</p>
<p>Compte tenu de quelques autres facteurs que je ne résume pas ici — <a href="https://blog.hansenpartnership.com/containers-and-cloud-security/">veuillez lire cet article avant de commenter</a> —, les équipes de sécurité de l'hébergeur bossent « mieux » avec des conteneurs, qui sont donc plus fiables, <em>quoi qu'en dise votre contrat</em>. Mais que ça ne vous dispense pas des opérations habituelles de base : backup, backup ET backup (sauvegarde, sauvegarde ET sauvegarde de leurs petits noms). </p><div><a href="https://linuxfr.org/users/andrianarivony/journaux/surface-d-attaque-des-serveurs-dans-les-nuages-cloud.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/114750/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/andrianarivony/journaux/surface-d-attaque-des-serveurs-dans-les-nuages-cloud#comments">ouvrir dans le navigateur</a>
</p>
ZeroHeurehttps://linuxfr.org/nodes/114750/comments.atomtag:linuxfr.org,2005:Bookmark/722018-04-19T17:49:24+02:002018-04-19T17:49:24+02:00Titus, the Netflix container management platform, is now open source<a href="https://medium.com/@NetflixTechBlog/titus-the-netflix-container-management-platform-is-now-open-source-f868c9fb5436">https://medium.com/@NetflixTechBlog/titus-the-netflix-container-management-platform-is-now-open-source-f868c9fb5436</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/114277/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/audionuma/liens/titus-the-netflix-container-management-platform-is-now-open-source#comments">ouvrir dans le navigateur</a>
</p>
audionumahttps://linuxfr.org/nodes/114277/comments.atomtag:linuxfr.org,2005:Bookmark/372018-03-30T07:57:20+02:002018-03-30T07:57:20+02:00extension firefox pour garder facebook dans un "container"<a href="https://blog.mozilla.org/firefox/facebook-container-extension/">https://blog.mozilla.org/firefox/facebook-container-extension/</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/114113/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/yazgoo/liens/extension-firefox-pour-garder-facebook-dans-un-container#comments">ouvrir dans le navigateur</a>
</p>
yazgoohttps://linuxfr.org/nodes/114113/comments.atomtag:linuxfr.org,2005:Post/357122015-08-18T10:41:45+02:002015-08-18T10:41:45+02:00Containers de type Docker : le statique du 21e siècle ?<p>Bonjour,</p>
<p>Docker est partout, de plus en plus présent. Mais voilà, pourquoi j'ai l'impression que c'est un peu comme compiler avec des bibliothèques en statique, mais avec quelques trucs en plus liés aux containers (ressources limitables, etc.) ?</p>
<p>Certaines personnes parlent même du futur de la distributions de paquets par containers…</p>
<p>Mais je trouve ça pas super, surtout que les mises-à-jour de sécurité d'une bibliothèque implique de reconstruire <em>toutes</em> les images dockers !</p>
<p>Pourquoi tout le monde trouve ça si bien ? Je passe à côté de quelque chose ?</p><div><a href="https://linuxfr.org/forums/linux-general/posts/containers-de-type-docker-le-statique-du-21e-siecle.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/106533/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/linux-general/posts/containers-de-type-docker-le-statique-du-21e-siecle#comments">ouvrir dans le navigateur</a>
</p>
Jiehonghttps://linuxfr.org/nodes/106533/comments.atomtag:linuxfr.org,2005:Post/354352015-06-01T18:40:00+02:002015-06-01T18:40:00+02:00Questions pour ceux qui travaillent avec/sur les conteneurs (Docker, LXC,..)<p>Bonjour,</p>
<p>Pour les besoins de mon projet d'etudes et vu que c'est la nouvelle technologie qui monte, j'ai quelques questions destinées aux personnes qui travaillent sur les conteneurs (LXC, Docker ..)</p>
<ul>
<li>Quels sont les outils d'automatisation qui manquent a Docker/LXC pour un admin ?</li>
<li>Une interface graphique web (web frontend pour les anglophiles) dédiée à LXC ou Docker ne serait pas inutile vu que OpenStack couvre tout ?</li>
</ul><p>J'avoue qu'entre Docker, swarm, LXD, Rocket, Kubernetes et compagnie, et d'autre par les commentaires qu'on peut trouver sur les forums sur les avantages et les inconvénients de chacun, j'avoue ne pas trouver l'information que je cherche. A savoir ce qui empeche l'utilisation quotidienne et surtout facilitée (sans avoir a taper tout le temps des commandes à un admin qui a d'autres choses à faire) pour avoir une plateforme cloud (publique ou bien privée) basée sur les conteneurs.</p>
<p>J'espère avoir été clair, et si quelqu'un pourrait m'indiquer d'autres aspects que j'ignore je serais ravi de le savoir.</p>
<p>Merci d'avance</p><div><a href="https://linuxfr.org/forums/general-general/posts/questions-pour-ceux-qui-travaillent-avec-sur-les-conteneurs-docker-lxc.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/105931/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/general-general/posts/questions-pour-ceux-qui-travaillent-avec-sur-les-conteneurs-docker-lxc#comments">ouvrir dans le navigateur</a>
</p>
b_hunterhttps://linuxfr.org/nodes/105931/comments.atomtag:linuxfr.org,2005:News/352892014-04-22T10:59:38+02:002014-04-22T10:59:37+02:00Logiciels pour survivre avec DockerLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<div><p>Docker a déjà été présenté via un <a href="//linuxfr.org/news/docker-tutoriel-pour-manipuler-les-conteneurs">tutoriel pour manipuler les conteneurs</a> et une présentation de la <a href="//linuxfr.org/news/gerer-les-containers-avec-docker">gestion des containers</a> sur LinuxFR. Il s'agit d'un système de conteneurs qui étend ce que fait le système de cloisonnement <em>Linux Containers</em> <a href="http://fr.wikipedia.org/wiki/LXC" title="Définition Wikipédia">LXC</a> sous Linux. Cette dépêche présente un certain nombre de logiciels utiles pour compléter Docker.</p></div><ul><li>lien nᵒ 1 : <a title="http://blog.adminrezo.fr/2014/04/logiciels-environnement-docker-lxc-linux-containers/" hreflang="fr" href="https://linuxfr.org/redirect/90135">Article à l'origine de la dépêche</a></li><li>lien nᵒ 2 : <a title="https://www.docker.io/" hreflang="en" href="https://linuxfr.org/redirect/90136">Site officiel de Docker</a></li></ul><div><h2 id="gestion-du-réseau">Gestion du réseau</h2>
<h3 id="pipework">Pipework</h3>
<p>Pipework est un script de configuration réseau pour Docker/LXC. C'est un complément à Docker, lequel ne se charge pas directement de configurer le réseau (en tous cas pas suffisamment).</p>
<p><a href="https://github.com/jpetazzo/pipework">Site officiel et doc</a></p>
<h4 id="installation">Installation</h4>
<pre><code class="sh">apt-get install arping bridge-utils
git clone https://github.com/jpetazzo/pipework.git
mv pipework/pipework /usr/local/bin/pipework</code></pre>
<h4 id="utilisation">Utilisation</h4>
<p>Créer un réseau privé entre deux conteneurs et l'hôte :</p>
<pre><code class="sh">pipework br1 conteneur1 192.168.1.1/24@192.168.1.254
pipework br1 conteneur2 192.168.1.2/24@192.168.1.254
ip addr add 192.168.1.254/24 dev br1</code></pre>
<h3 id="dnsmasq">dnsmasq</h3>
<p>DNSMasq c'est un mini serveur qui vous évite d'installer des services plus lourds (comme Bind, ISC Dhcpd…). Il n'est pas spécifiquement lié à l'environnement Docker mais il peut être très utile pour se monter très simplement un service de noms et une distribution d'adresses.</p>
<p><a href="http://blog.adminrezo.fr/2014/04/dnsmasq-serveur-dns-dhcp-tftp-pxe-simple-et-leger/">Configuration en deux minutes</a><br><a href="http://www.thekelleys.org.uk/dnsmasq/doc.html">Documentation officielle</a></p>
<h3 id="serveur-pxe-dans-un-container">Serveur PXE dans un container</h3>
<p>Un container pour booter en PXE des machines sous Debian.<br><a href="https://github.com/jpetazzo/pxe">Les explications et le dockerfile</a>. </p>
<h2 id="gestion-des-containers">Gestion des containers</h2>
<h3 id="interface-web-dockerui-ou-shipyard">Interface Web (DockerUI ou Shipyard)</h3>
<p>Docker peut aussi s'administrer avec une interface Web.<br>
C'est peut-être un gadget mais ça permet à ceux qui ne connaissent pas Docker de faire de l'administration basique (redémarrer un container, …).</p>
<p>J'aime bien <a href="https://github.com/crosbymichael/dockerui">DockerUI</a> qui a le mérite d'être simple.</p>
<p>Ça s'installe directement dans un container :</p>
<pre><code class="sh">docker build -t crosbymichael/dockerui github.com/crosbymichael/dockerui
docker run -d -p 9000:9000 -v /var/run/docker.sock:/docker.sock crosbymichael/dockerui -e /docker.sock</code></pre>
<p>Dans ce domaine, il y a aussi Shipyard qui semble plus complet, qui propose une API et qui fonctionne en client serveur (avec le shipyard-agent sur les containers).</p>
<h4 id="nsenter">nsenter</h4>
<p>Problème habituel dans Docker : une fois qu'on lance un container en mode démon, on ne peut plus rentrer dedans.</p>
<p>Pour résoudre ça, on va avoir besoin de <em>nsenter</em> fourni par le paquet util-linux > 2.23.<br>
Sous debian/ubuntu, c'est la version 2.20 donc il faut télécharger et compiler les sources :</p>
<pre><code class="sh"><span class="nb">cd</span> /tmp
curl https://www.kernel.org/pub/linux/utils/util-linux/v2.24/util-linux-2.24.tar.gz <span class="p">|</span> tar -zxf-
<span class="nb">cd </span>util-linux-2.24
./configure --without-ncurses
make nsenter
cp nsenter /usr/local/bin</code></pre>
<p>Et maintenant on se crée un script pour Docker (/usr/local/sbin/dkenter) :</p>
<pre><code class="sh"><span class="c">#!/bin/bash</span>
<span class="nv">CNAME</span><span class="o">=</span><span class="nv">$1</span>
<span class="nv">CPID</span><span class="o">=</span><span class="k">$(</span>docker inspect --format <span class="s1">'{{ .State.Pid }}'</span> <span class="nv">$CNAME</span><span class="k">)</span>
nsenter --target <span class="nv">$CPID</span> --mount --uts --ipc --net --pid</code></pre>
<p>Je lance un container en démon :</p>
<pre><code>docker run --name lamp1 -d lamp-maria supervisord -n
</code></pre>
<p>Je ne peux plus m'attacher dessus alors j'utilise dkenter pour obtenir un shell.<br>
Quand j'en ressort, le container continue de tourner.</p>
<pre><code class="sh">dkenter lamp1
root@ff94c159642f# ...
root@ff94c159642f# <span class="nb">exit</span></code></pre>
<h3 id="boot2docker">Boot2Docker</h3>
<p>Boot2Docker est une distribution Linux ultra-légère pour servir d'hôte Docker.<br>
On peut <a href="https://github.com/boot2docker/boot2docker/releases">télécharger les images ISO</a> ou <a href="https://github.com/boot2docker/boot2docker">suivre le manuel</a>.</p>
<h3 id="busybox">Busybox</h3>
<p>Busybox est un système Linux ultra léger (2,5 Mo, qui dit mieux ?).<br>
Il existe en image Docker <a href="https://index.docker.io/_/busybox/">sur le dépôt officiel Docker</a></p>
<h3 id="baseimage">Baseimage</h3>
<p>Baseimage c'est le contraire de busybox. Ça part du principe que l'image Ubuntu ou Debian fournie de base par Docker doit être complétée pour fournir d'autres services tels qu'un process init correct, un syslog, un cron, et un serveur SSH.</p>
<p><a href="https://phusion.github.io/baseimage-docker/">Les explications</a><br><a href="https://github.com/phusion/baseimage-docker">Le dépôt git</a></p>
<h3 id="créer-son-propre-dépôt-docker">Créer son propre dépôt Docker</h3>
<p>Docker registry : un logiciel pour créer son propre dépôt Docker.<br><a href="https://github.com/dotcloud/docker-registry">Sur Github</a></p></div><div><a href="https://linuxfr.org/news/logiciels-pour-survivre-avec-docker.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/101914/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/logiciels-pour-survivre-avec-docker#comments">ouvrir dans le navigateur</a>
</p>
NicoliveNeoXNÿcoBenoît SibaudOntologiahttps://linuxfr.org/nodes/101914/comments.atomtag:linuxfr.org,2005:News/352012014-03-25T10:07:27+01:002014-03-25T10:07:27+01:00Gérer les containers avec DockerLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<div><p>Docker est un projet open-source sous licence Apache 2 pour automatiser le déploiement d'application sous forme de containers <a href="http://fr.wikipedia.org/wiki/LXC" title="Définition Wikipédia">LXC</a></p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f7777772e646f636b65722e696f2f7374617469632f696d672f646f636b65722d746f702d6c6f676f2e706e67/docker-top-logo.png" alt="logo docker" title="Source : https://www.docker.io/static/img/docker-top-logo.png"></p>
<p>Jusqu'à présent on trouvait couramment des applications prêtes à l'emploi sous forme d'images VMware, XEN, VirtualBox, QEMU, etc. mais quasiment jamais l'équivalent sous forme de containers. Pourtant les containers représentent une forme de virtualisation légère qui peut dans bien des cas servir d'alternative à la virtualisation lourde.</p>
<p><abbr title="Note des modérateurs">NdM</abbr> : <em>merci aussi à Nycolive pour sa proposition de dépêche, qui a été fusionnée avec celle-ci.</em></p></div><ul><li>lien nᵒ 1 : <a title="http://docker.io" hreflang="en" href="https://linuxfr.org/redirect/89826">Site web Docker</a></li><li>lien nᵒ 2 : <a title="https://www.docker.io/gettingstarted/" hreflang="en" href="https://linuxfr.org/redirect/89839">Le tutoriel de base</a></li><li>lien nᵒ 3 : <a title="http://docs.docker.io/en/latest/" hreflang="en" href="https://linuxfr.org/redirect/89840">Documentation</a></li><li>lien nᵒ 4 : <a title="https://index.docker.io/" hreflang="fr" href="https://linuxfr.org/redirect/89841">Dépôt officiel</a></li><li>lien nᵒ 5 : <a title="http://www.silicon.fr/open-source-docker-demoder-vm-93411.html" hreflang="fr" href="https://linuxfr.org/redirect/89883">Open Source : comment Docker est en passe de démoder les VM (Silicon.fr)</a></li></ul><div><h2 id="rappel">Rappel</h2>
<ul>
<li>
<em>émulation complète</em> : on émule un ordinateur virtuel complet. C'est lent mais très flexible, On peut par exemple émuler un processeur SPARC sur un ordinateur Intel. Exemple de logiciel : QEMU</li>
<li>
<em>virtualisation</em> : on émule un ordinateur virtuel du même type que l'hôte. C'est moins flexible que l'émulation complète mais c'est beaucoup plus rapide. Techniquement ça repose sur les différents niveaux d'exécution du processeur (Ring 0,1,2,3) Exemple de logiciels : VMWare, Xen, VirtualBox, KVM, Hyper-V</li>
<li>
<em>containers</em> : ce n'est plus l'ordinateur qui est virtuel, mais uniquement l'environnement d'exécution. Un seul et même noyau est utilisé par des containers qui sont isolés les uns des autres. C'est moins flexible que la virtualisation (on ne peut pas mélanger Windows/Linux), mais ça consomme moins de ressources systèmes. Techniquement ça repose sur chroot et cgroups. Exemple : OpenVZ, VServer, LXC, … et Docker dont nous parlerons ici.</li>
</ul><h2 id="déploiement-dapplication">Déploiement d'application</h2>
<p>Actuellement, la solution la plus facile pour distribuer une application complexe, c'est de la fournir sous forme de machine virtuelle. Mais dans la plupart des cas on pourrait faire la même chose avec des containers et c'est là que <em>docker</em> intervient. </p>
<p><em>Docker</em> permet de créer un container sur une machine puis de l'exécuter sur n'importe quel autre.</p>
<p><em>Docker</em> fournit un dépôt de conteneurs avec des images officielles et des images créées par les utilisateurs enregistrés, un peu à la manière des dépôts GIT.</p>
<h2 id="nota">Nota</h2>
<p><em>Docker</em> ne concerne que Linux, pourtant les autres Unix disposent aussi de containers :</p>
<ul>
<li>Solaris : <a href="http://en.wikipedia.org/wiki/Solaris_Containers">zones</a>
</li>
<li>FreeBSD : <a href="http://fr.wikipedia.org/wiki/BSD_Jail">jails</a>
</li>
</ul><p><img src="//img.linuxfr.org/img/68747470733a2f2f7777772e646f636b65722e696f2f7374617469632f696d672f686f6d65706167652d646f636b65722d6c6f676f2e706e67/homepage-docker-logo.png" alt="Grand logo Docker" title="Source : https://www.docker.io/static/img/homepage-docker-logo.png"></p></div><div><a href="https://linuxfr.org/news/gerer-les-containers-avec-docker.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/101636/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/gerer-les-containers-avec-docker#comments">ouvrir dans le navigateur</a>
</p>
koopaZeroHeureBenoît SibaudFlorent ZaraNeoXclaudexNils Ratuszniktuiu polhttps://linuxfr.org/nodes/101636/comments.atom