Docker 1.12 : orchestration intégrée, clients natifs pour OS X et Windows

Docker 1.12 : orchestration intégrée, clients natifs pour OS X et Windows

Mise en boîte

Avatar de l'auteur

Vincent Hermann

Publié dansLogiciel

01/08/2016
88
Docker 1.12 : orchestration intégrée, clients natifs pour OS X et Windows

Docker, un outil permettant de créer des conteneurs logiciels, est maintenant disponible en version 1.12, après plusieurs mois de tests. Il s’agit d’une mouture majeure, qui s’accompagne de nouveaux clients pour OS X et Windows, d’une orchestration intégrée et d’une gestion simplifiée des plugins.

Docker 1.12, malgré une numérotation qui ne le laisse pas vraiment supposer, est une version importante de la technologie. Devenu standard de facto, cette solution de conteneurs logiciels dispose désormais de clients largement remaniés pour OS X et Windows, avec pour principal bénéfice une hausse des performances.

Les versions OS X et Windows abandonnent VirtualBox

Le changement le plus important est la prise en charge, sur chaque plateforme, de l’hyperviseur natif déjà présent, plutôt que d’utiliser VirtualBox. Sous OS X, c’est ainsi l’Hypervisor Framework qui est utilisé, tandis que sous Windows, c’est Hyper-V. Outre un fonctionnement décrit comme plus rapide, l’installation est également plus légère, mais réclame des versions récentes des systèmes pour fonctionner : Yosemite (10.10.3) et Windows 10. Le nouveau client est également disponible pour Linux. Ils permettent tous un débogage live des conteneurs en cours d’utilisation.

Mode Swarm et orchestration intégrée

Pour ce qui est de Docker Engine, la version 1.12 apporte tout d’abord une orchestration intégrée, alors qu’elle n’était jusqu’à présent présente que sous forme de plugin. Ce mode, baptisé Swarm, est un apport majeur puisqu’il permet à Docker de créer par exemple des applications utilisant des conteneurs multiples répartis sur des hôtes multiples, tout en pouvant les gérer sans logiciel supplémentaire. Cette orchestration permet aux administrateurs de définir l’état qu’ils souhaitent, Docker se chargeant alors du reste.

Comme on s’en doute, ce mode Swarm reprend toutes les fonctionnalités de Docker Swarm, utilisé auparavant comme produit séparé pour créer des clusters (groupes de serveurs). L’équilibre de charge est de la partie, et les communications sont chiffrées de bout en bout. Par exemple, le mode Swarm est encore désactivé par défaut, et Docker Swarm reste supporté. Surtout, l’équipe a bien pris soin de laisser le mode pouvoir être supplanté par d’autres outils, notamment à Kubernetes.

docker

Une position renforcée par l'arrivée de Windows Server 2016

Outre de nombreux bugs corrigés, Docker 1.12 compte quelques apports supplémentaires, comme une nouvelle commande permettant de gérer les plugins. Des sous-commandes pourront ainsi s’occuper de l’installation, l’activation/désactivation, set, rm ou encore inspect. La liste complète des nouveautés peut être consultée sur le site officiel.

Notez que Docker devrait à nouveau renforcer sa position avec le lancement de Windows Server 2016. Disponible en Technical Preview 5 (la dernière) depuis environ deux semaines et lancé normalement fin septembre, le système Microsoft gèrera nativement les conteneurs créés par cette solution, en plus de ceux propres à Microsoft, d’ailleurs compatibles eux aussi avec Docker.

88
Avatar de l'auteur

Écrit par Vincent Hermann

Tiens, en parlant de ça :

Un homme noir regarde la caméra. Sur son visage, des traits blancs suggèrent un traitement algorithmique.

AI Act et reconnaissance faciale : la France interpelée par 45 eurodéputés

Report minoritaire

15:46 DroitWebSécu 2
Api

La CNIL préconise l’utilisation des API pour le partage de données personnelles entre organismes

I'm API

15:12 SécuSociété 0
Fouet de l’Arcep avec de la fibre

Orange sanctionnée sur la fibre : l’argumentaire de l’opérateur démonté par l’Arcep

Orange rhabillé pour l'hiver

11:39 DroitWeb 7

Sommaire de l'article

Introduction

Les versions OS X et Windows abandonnent VirtualBox

Mode Swarm et orchestration intégrée

Une position renforcée par l'arrivée de Windows Server 2016

Un homme noir regarde la caméra. Sur son visage, des traits blancs suggèrent un traitement algorithmique.

AI Act et reconnaissance faciale : la France interpelée par 45 eurodéputés

DroitWebSécu 2
Api

La CNIL préconise l’utilisation des API pour le partage de données personnelles entre organismes

SécuSociété 0
Fouet de l’Arcep avec de la fibre

Orange sanctionnée sur la fibre : l’argumentaire de l’opérateur démonté par l’Arcep

DroitWeb 7
Bombes

Israël – Hamas : comment l’IA intensifie les attaques contre Gaza

IA 7

#LeBrief : bande-annonce GTA VI, guerre électronique, Spotify licencie massivement

Poing Dev

Le poing Dev – Round 7

Next 49
Logo de Gaia-X sour la forme d’un arbre, avec la légende : infrastructure de données en forme de réseau

Gaia-X « vit toujours » et « arrive à des étapes très concrètes »

WebSécu 5

Trois consoles portables en quelques semaines

Hard 37
Une tasse estampillée "Keep calm and carry on teaching"

Cyberrésilience : les compromis (provisoires) du trilogue européen

DroitSécu 3

#LeBrief : fuite de tests ADN 23andMe, le milliard pour Android Messages, il y a 30 ans Hubble voyait clair

#Flock a sa propre vision de l’inclusion

Flock 25
Un Sébastien transformé en lapin par Flock pour imiter le Quoi de neuf Docteur des Looney Tunes

Quoi de neuf à la rédac’ #10 : nous contacter et résumé de la semaine

44
Autoportrait Sébastien

[Autoportrait] Sébastien Gavois : tribulations d’un pigiste devenu rédac’ chef

Next 20
Logo de StreetPress

Pourquoi le site du média StreetPress a été momentanément inaccessible

Droit 21
Amazon re:Invent

re:Invent 2023 : Amazon lance son assistant Q et plusieurs services IA, dont la génération d’images

IA 14
Un œil symbolisant l'Union européenne, et les dissensions et problèmes afférents

Le Conseil de l’UE tire un bilan du RGPD, les États membres réclament des « outils pratiques »

Droit 6

19 associations européennes de consommateurs portent plainte contre Meta

DroitSocials 16

#LeBrief : Ariane 6 l’été prochain, Nextcloud rachète Roundcube, désinformation via la pub

Chiffre et formules mathématiques sur un tableau

CVSS 4.0 : dur, dur, d’être un expert !

Sécu 16
Une tête de fusée siglée Starlink.

Starlink accessible à Gaza sous contrôle de l’administration israélienne

Web 35
Fibre optique

G-PON, XGS-PON et 50G-PON : jusqu’à 50 Gb/s en fibre optique

HardWeb 53
Photo d'un immeuble troué de part en part

Règlement sur la cyber-résilience : les instances européennes en passe de conclure un accord

DroitSécu 10
lexique IA parodie

AGI, GPAI, modèles de fondation… de quoi on parle ?

IA 11

#LeBrief : logiciels libres scientifiques, fermeture de compte Google, « fabriquer » des femmes pour l’inclusion

livre dématérialisé

Des chercheurs ont élaboré une technique d’extraction des données d’entrainement de ChatGPT

IAScience 3
Un chien avec des lunettes apprend sur une tablette

Devenir expert en sécurité informatique en 3 clics

Sécu 11
Logo ownCloud

ownCloud : faille béante dans les déploiements conteneurisés utilisant graphapi

Sécu 16
Le SoC Graviton4 d’Amazon AWS posé sur une table

Amazon re:invent : SoC Graviton4 (Arm), instance R8g et Trainium2 pour l’IA

Hard 12
Logo Comcybergend

Guéguerre des polices dans le cyber (OFAC et ComCyberMi)

Sécu 10

#LeBrief : faille 0-day dans Chrome, smartphones à Hong Kong, 25 ans de la Dreamcast

Des billets volent dans les airs.

Mistral AI s’apprête à lever 450 millions d’euros auprès de NVIDIA et a16z

ÉcoIA 0

GTA VI

Rockstar met en ligne le trailer de GTA VI

Soft 34

Russian drone shot by the State Border Guard Service of Ukraine

La guerre électronique serait la plus grande faiblesse de l’Ukraine, et la principale force de la Russie

HardSécu 7

Debout, une femme en pull bleu montre à une autre, assise, quelque chose à son écran d'ordinateur.

Futur de l’IA : les femmes manquent dangereusement à l’appel

IASociété 15

Logo Spotify avec notes de musique

Spotify licencie 1 500 personnes de plus

ÉcoSociété 13

Wikipedia sombre

Wikipedia aura son thème sombre

Web 16

Commentaires (88)


smux
Il y a 7 ans

Docker & la containerisation, le futur du “.exe”.
Ce qu’ils sont en train de faire est une véritable révolution dans le monde informatique….
 


DeadAngel70
Il y a 7 ans

@smux,

Pas sur que l’on puisse parler de révolutions dans ce cas. Le but n’est pas de remplacer un exécutable mais bien de lui permettre de s’exécuter dans des environnements contrôlés. 

Cette évolution va surtout toucher le monde de l’IT, mais aura un poids bien plus limité sur le grand publique. 
Reste que le fait d’être supporté nativement par MS va donner un vrai plus quand à l’utilisation de certains produits issus du monde Linux. 


A-snowboard
Il y a 7 ans






smux a écrit :

Docker & la containerisation, le futur du “.exe”.
Ce qu’ils sont en train de faire est une véritable révolution dans le monde informatique….
 



Je lis quelques infos là dessus mais je t’avoue que j’ai toujours du mal à comprendre le concept.
(Ben oui je ne suis pas informaticien ^^ )



damaki Abonné
Il y a 7 ans

Une révolution ? Je trouve plutôt que c’est une régression. On en revient à la plus basse version du static linking, encore pire que sous les applis win32 et leurs brouettes de DLLs. L’informatique a évolué pendant des années à faire des logiciels dont les différentes dépendances se mettent à jour le plus facilement possible du monde, avec des gestionnaires de paquets, des installeurs automatisés, des signatures numériques des paquets pour la sécurité. L’avenir c’est maintenant de télécharger un OS léger non signé, créé par un type qu’on connaît pas et qu’on peut mettre à jour que si le paquet a été bien conçu.
On est dans le monde du freestyle le plus complet, un cauchemar de sysadmin, à moins d’avoir la structure adéquate au sein de l’entreprise. Quand on est pas chez les GAFA, Docker est une solution à un problème de développeur, pas un problème d’exploitant.


Noodens
Il y a 7 ans

T’en fais pas, je suis dev et j’ai toujours du mal à comprendre le principe aussi (il faudrait que je me penche sérieusement sur la question un de ces jours…)


damaki Abonné
Il y a 7 ans

L’idée de base de Docker, c’est de faire un mini système d’exploitation pour faire tourner un unique logiciel dessus (serveur, généralement). On peut en créer des tas sur un serveur physique, selon les besoins et les relier entre eux assez simplement. Il y a de plus des outils d’orchestration, qui servent simplement à créer à la volée des dizaines, des centaines de ces serveurs en un clic (ou plus souvent, en une ligne de commande), à les démarrer et à les configurer.
C’est aussi pensé pour que les plans de ces mini-serveurs (un fichier texte de description), soient réutilisables et diffusables sur le net facilement.


martino
Il y a 7 ans

Comme tout ca dépend de comment on se positionne même en tant que sys-admin.



Dans le cas d'un package  testé et développé en docker, c'est l'assurance d'avoir les conditions optimales de fonctionnement.      
C'est aussi la possibilité de gérer la montée (ou non) en version des dépendances de manière indépendante pour chaque logiciel sans se poser la question du :  comment cej'exploite ? Quels impacts pour les autres logiciels avec des dépendances communes (même sur le même server !) ?

brazomyna
Il y a 7 ans






damaki a écrit :

Quand on est pas chez les GAFA, Docker est une solution à un problème de développeur, pas un problème d’exploitant.


Ca tombe bien, Docker est justement une solution avant tout pour les développeurs/testeurs, pas spécialement les exploitants.

 La nature est bien faite quand même :)
 



Whinette Abonné
Il y a 7 ans

Même pour les dev, c’est de la merde.


shlagevuk
Il y a 7 ans

Une simplification assez facile à comprendre est de se dire que c’est comme de la virtualisation mais sans avoir à charger un système d’exploitation.
Le noyau du système hôte est partagé par les conteneurs qui s’exécutent.

Du coup tu as un peu le même principe qu’un .exe effectivement, ton application est “packagé” dans un conteneur docker qui contient tout ce qu’il lui faut en terme de librairie et dépendances.


JoePike
Il y a 7 ans

bémols <img data-src=" />
Ben dans les entreprises ou on utilise de plus en plus de dev à domicile , le plus gros problème est la taille des package à télécharger avec le temps que ça prend pour certains
Un des plus gros arguments c’est quand même de transférer des ko et des mo au lieu des go et de les mettre à disposition rapidement
Par contre c’est sûr que c’est pas destiné à la petite entreprise
<img data-src=" />


martino
Il y a 7 ans

Pour les mauvais fermés à tous changements de leur vieilles habitudes : sans doute.
Pour les autres….c’est une solution avec ses avantages et ses défauts comme d’autres solutions


shlagevuk
Il y a 7 ans

Tu peux développer ton propos? Parce que normalement c’est le contraire, ça permet&nbsp; aux dev d’avoir un environnement “iso-prod” sur leur machine.


seb2411
Il y a 7 ans






damaki a écrit :

Une révolution ? Je trouve plutôt que c’est une régression. On en revient à la plus basse version du static linking, encore pire que sous les applis win32 et leurs brouettes de DLLs. L’informatique a évolué pendant des années à faire des logiciels dont les différentes dépendances se mettent à jour le plus facilement possible du monde, avec des gestionnaires de paquets, des installeurs automatisés, des signatures numériques des paquets pour la sécurité. L’avenir c’est maintenant de télécharger un OS léger non signé, créé par un type qu’on connaît pas et qu’on peut mettre à jour que si le paquet a été bien conçu.
On est dans le monde du freestyle le plus complet, un cauchemar de sysadmin, à moins d’avoir la structure adéquate au sein de l’entreprise. Quand on est pas chez les GAFA, Docker est une solution à un problème de développeur, pas un problème d’exploitant.


Pas du tout… Mais je t’en veux pas c’est difficile d’appréhender Docker <img data-src=" />



ziouf
Il y a 7 ans

La conteneurisation est une techno qui n’est pas récente. Mais avant Docker c’était compliqué à mettre en oeuvre.
Je me demande où en est LXD par rapport à Docker. Quelqu’un sait ?


Chocobidou
Il y a 7 ans

Pour ceux qui ont du mal avec Docker, c’est pas bien compliqué ! Ça permet de déployer plus facilement des environnement (dev, prod, ce que l’on veut … ) très facilement et en bénéficiant de la clusterisation des instances de serveurs sur une même instance d’un OS tout en bénéficiant de l’allocation de core(s) et de mémoire au node deployé !

En gros c’est de la VM mais sans duplication d’OS et une légèreté et flexibilité accrue pour le déploiement d’applications.

Très pratique pour les gros serveurs hexacores multithreadé avec 64go de Ram, tu virtualises le tout !


C’est David Gageot qui s’occupe des nouvelles versions Windows et Mac et c’est made in France !


A-snowboard
Il y a 7 ans

Merci les gars pour vos explications :)

<img data-src=" />


damaki Abonné
Il y a 7 ans

Merci pour l’argumentation pléthorique.


pmiam999
Il y a 7 ans

Chaque ressource gérée par le kernel est exposée dans un espace de nom cloisonné. Il ne faut pas voir un conteneur comme une VM mais plutôt comme un processus wrappé par Docker et enfermé dans des namespaces.


seb2411
Il y a 7 ans

De rien j’ai fait des efforts ^^ … Je me serais permis d’argumenter si tu avais avance des éléments intéressants. Mais vu que tu ne connais visiblement pas la techno… Je préfère en rester la ( En toute modestie, je me considère pas comme un master sur Docker non plus).


Glubglub
Il y a 7 ans

Je suis pas passé sous Docker, mais j’ai aussi des doutes.

On nous le vend par une facilité de déploiement, mais on déploie facilement des VMs avec Chef.
On est également ISO entre deux VMs.
Et le dev semble plus contraignant, (un service par container, tout ça…).

Au final, j’ai l’impression qu’on ne gagne qu’en RAM.
Mais au prix de la RAM, et du jour-homme, je ne vois pas une entreprise payer du dev pour ça.

Edit : OK, le temps que j’écrive mon message, il y a eu 2 pages de débats dans les commentaires…


damaki Abonné
Il y a 7 ans

J’imagine que tu parles de LXC.
Docker et LXC utilisent tous les deux les mêmes technos dans le kernel de linux, c’est à dire les namespaces de process, de ressources (réseau, utilisateurs, etc). La différence, c’est le but recherché.
Docker vise à instancier un ensemble de minis machines virtuelles, avec un OS assez léger (c’est relatif…) avec un seul soft qui tourne en fond par vm et souvent peu de ports ouverts à l’extérieur ou aux autres machines dockers. On tisse un réseau de machines réutilisables pour un logiciel ou ensemble logiciel donné.
LXC vise plutôt à virtualiser un OS complet (sauf le kernel), et on peut travailler dessus comme si c’était une machine virtuelle à la VM Ware ou VirtualBox. On installe dessus tous les daemons et toutes les applis qu’on veut. Et c’est combiné avec ZFS ou d’autres technos pour dédupliquer les fichiers et éviter de dupliquer les fichiers identiques entre les différentes VMs.

Les deux ont leurs qualités et défauts, avec pour défaut commun, l’isolation des process encore approximative.


vloz
Il y a 7 ans

Perso je m’en sert parce que c’est le moyen le plus simple que j’ai trouvé pour lancer des projet qui soient scalable, leger à l’execution et à l’envoie, et&nbsp;platform agnostic.

&nbsp;


damaki Abonné
Il y a 7 ans

Il y a un intérêt très fort avec Swarm ou Kubernetes, des déploiements massifs ou pour les environnements de dev sans se prendre la tête. En dehors de ces deux cas d’utilisations, je trouve que LXC, VM Ware ou virtual box, avec ansible, chef ou un de leurs copains font mieux le job, avec moins de risques et de coûts.


damaki Abonné
Il y a 7 ans





  • Complexité de mise à jour des OS et dépendances, faut constamment redéployer des conteneurs à jour si on veut suivre les bulletins de securité

  • Problèmes d’isolation des process. A la moindre sortie de l’isolation par faille kernel, on est root vu que la plupart des applis sur conteneur docker tournent en root

  • Suivi en exploit des process : un ps -aux sur le host te retourne chacun de tes process en root, c’est le merdier absolu (pareil sur LXC, soit dit en passant)

  • qualité des images de base très variable. A moins de construire soi même les images (et d’automatiserla recréation), on est jamais sûr qu’une image Docker n’est pas vérolée. C’est résolu sous les OS modernes par des certificats cryptographiques, mais ça reste miteux sous Docker.


    Je trouve que rien que ça, c’est assez pour dissuader d’utiliser ça sur une petite prod.


zozourban
Il y a 7 ans

Docker m’intéresse, ayant un macbook pro et voulant faire les choses bien j’utilise actuellement Vagrant pour faire mes environnement de dev

Maintenant que Docker est passé en version stable et n’utilise plus virtualbox,&nbsp;&nbsp;j’hésite a lâcher vagrant.
Après je vois pas trop de “tuto” sur comment deployer un environnement pour symfony par exemple. Alors que Vagrant c’est assez simple


ziouf
Il y a 7 ans

Non, Je parlais bien de lex-dee (LXD) (cf:http://www.ubuntu.com/cloud/lxd). Et il me semble que LXD et Docker sont deux concurrent qui se basent tous deux sur la techno LXC pour la conteneurisation.
LXD et Docker sont des gestionnaires de conteneurs de la même façon que des hyperviseurs gèrent des VM.
Je n’ai trouvé que peu d’information sur LXD et donc je ne sais pas où il se positionne par rapport à Docker point de vue fonctionnalités et utilisabilité. Mais il semble que LXD soit exclusif à Ubuntu et donc plus limité que Docker en terme de cas d’utilisation.


brazomyna
Il y a 7 ans






damaki a écrit :

Je trouve que rien que ça, c’est assez pour dissuader d’utiliser ça sur une petite prod.


Ça doit être une des premières choses qui est avancée par docker lui-même dans sa doc: ce n’est pas un outil destiné à faire de la prod, ou pour y retrouver toute la sécurité et l’isolation qu’on attend d’une vm par exemple.

Alors forcément, si on tord son utilisation pour ce qu’il n’est pas prévu au départ, ensuite on trouve que c’est mal fichu. Mais c’est du même niveau que le charpentier qui te dirait que les tournevis cayDeLaMayrde parce qu’on plante mal des clous avec.



seb2411
Il y a 7 ans






damaki a écrit :




  • Complexité de mise à jour des OS et dépendances, faut constamment redéployer des conteneurs à jour si on veut suivre les bulletins de securité

  • Problèmes d’isolation des process. A la moindre sortie de l’isolation par faille kernel, on est root vu que la plupart des applis sur conteneur docker tournent en root

  • Suivi en exploit des process : un ps -aux sur le host te retourne chacun de tes process en root, c’est le merdier absolu (pareil sur LXC, soit dit en passant)

  • qualité des images de base très variable. A moins de construire soi même les images (et d’automatiserla recréation), on est jamais sûr qu’une image Docker n’est pas vérolée. C’est résolu sous les OS modernes par des certificats cryptographiques, mais ça reste miteux sous Docker.


    Je trouve que rien que ça, c’est assez pour dissuader d’utiliser ça sur une petite prod.


    Oui c’est loin d’être LA solution a tous les problèmes. Et si il est facile de faire des images il y beaucoup de choses a prendre en compte a cote. Mais au final ça dépend surtout de ce que tu veux déployer plus que de la taille du projet. Du micro-service va bénéficier a plein des avantages de docker c’est moins évident pour du monolithique.

    Tu peux toujours faire tes propres images sous Docker et avoir ton propre repo si tu souhaites. Tu as aussi les images officielles, notamment pour les OS. Après si tu prends des images aux hasard et que tu ne fais pas attention tu t’expose a de nombreux problèmes, mais c’est au final comme les dépôts non officiel sous Linux, ou les différentes solutions de packages pour les différents langages de devs.

    Pour les mises a jours ce n’est pas un soucis (normalement) car le processus est rapide et tu vas avoir plusieurs container de la même application avec un LB et tu peux automatiser beaucoup de choses.



damaki Abonné
Il y a 7 ans

Si je comprends bien, c’est une surcouche user friendly à LXC. LXC a pour défaut d’être un peu roots sur la partie branchement au réseau des conteurs. C’est pas très bien documenté, pas clair et des docs sur le net se contredisent.
Les commandes de lxc ressemblent pas mal à celles de Docker et l’intégration OpenStack c’est pas mal non plus. Ça semble beaucoup destiné à aguicher les personnes déçues par Docker.

En tous cas, merci, j’avais vu la niouze pour LXD mais ça m’était sorti de la tête. Je vais creuser.


cyp Abonné
Il y a 7 ans

@zozourban
Attention avec MacOS il y a de gros problème de performance sur les volumes.
https://forums.docker.com/t/file-access-in-mounted-volumes-extremely-slow-cpu-bo…
Ça se contourne mais c’est galère quand on collabore des utilisateur de MacOS (enfin surtout pour eux ;-p)

&nbsp;@damaki




  • les mises à jour c’est aussi valable pour des déploiements classique et si on est dans un schéma de déploiement dev/preprod/prod c’est quasi autant de boulot à gérer

  • les container Docker se démarre tout aussi bien avec un compte utilisateur limité, c’est juste que par facilité et mauvaise pratiques la majorité des images sont configuré pour tourner en root

  • cf précédent,&nbsp; et c’est moins gênant quand on passe par des outils d’orchestration avec tous les outils nécessaire pour superviser les container

    Docker en soi n’est pas mauvais, j’ai quelques prod qui tourne dessus et ça se passe bien finalement.
    Par
    contre le souci ça vient plus de la qualité des images disponibles et
    le fait qu’elle sont pour la majorité prévu pour un environnement de dev
    dont la seule préoccupation est de faire tourner les applications mais sans
    considération de performance ou de sécurité, du coups faut passer du
    temps pour se tenir des images à jour… (d’ailleurs ils ont senti le
    business de ce coté,&nbsp; le Docker Store va certainement servir à fournir
    ce type d’image)


damaki Abonné
Il y a 7 ans

Totalement d’accord. Et vu les inconvénients, j’ai trouvé Docker difficile à justifier sur une prod avec peu d’applicatifs, instanciés grand max 4 fois, et une équipe d’exploit de taille réduite, ou pire sur mes projets persos avec un dev/exploit/homme orchestre. Sur une petite prod, les outils légers devops à la Ansible font nettement plus l’affaire.
Tout est question d’environnement cible, à mon sens.


maur1th
Il y a 7 ans






damaki a écrit :

Totalement d’accord. Et vu les inconvénients, j’ai trouvé Docker difficile à justifier sur une prod avec peu d’applicatifs, instanciés grand max 4 fois, et une équipe d’exploit de taille réduite, ou pire sur mes projets persos avec un dev/exploit/homme orchestre. Sur une petite prod, les outils légers devops à la Ansible font nettement plus l’affaire.
Tout est question d’environnement cible, à mon sens.


C’est marrant, je me suis justement mis à Docker pour mes projets perso. Parce que &nbsp;mon environnement de dév perso c’est un macbook air avec un tout petit SSD de 128Go. Poubelle virtualbox, vagrant et ses VM de 3Go mini (depuis la 1.12 uniquement certes, mais c’était annoncé).

Pour répondre à la problématique de confiance / qualité des images disponibles, j’utilise seulement les images officielles et si j’ai besoin d’un truc custom je pars de alpine.



pmiam999
Il y a 7 ans

Je trouve qu’il n’a pas tort sur deux points :




  • le téléchargement à la va vite de charges utiles depuis des repos non trustés à tendance à se généraliser (vive le curl | sh) au détriment du boulot de sécurisation fait par les mainteneurs de paquets dans les systèmes traditionnels.

  • la conteneurisation est une réponse un peu facile au problème de maintenance des stacks logicielles complexes (et le versionning qui va avec). La mise à l’isolement est une réponse mais ne traite pas les problèmes d’ingénierie logicielle de fond.

    Par contre la micro-segmentation et les notions de stateless qui vont avec est une philosophie très très interessante et je pense qu’il est passé à coté de ce point.


porecreat
Il y a 7 ans

L’intéret de Docker ne réside pas que dans son mode de virtualisation (en gros, c’est de la paravirtualisation, ce qui existe depuis des années, notamment chez IBM/AIX mais aussi OpenVZ & cie, c’est à dire qu’on ne virtualise pas une machine avec son bios, mais juste l’OS, du coup il n’y a pas vraiment de “boot”).

L’intérêt de Docker c’est de croiser paravirtualisation avec&nbsp; la configuration descriptive: Une image Docker tient généralement dans une petit fichier texte qui décrit tout ce que contient l’instance. Quand on démarre une instance, Docker va télécharger tout ce qui est décrit dans le fichier texte et démarrer l’ensemble dans un ordre prédéfini.

Avec Swarm, on peut même définir des clusters de plusieurs instances.

Par contre effectivement, Docker est un outil “DevOps”, où le développeur est responsable de son environnement. Ca laisse peu de place à des purs sysadmins (mais qui est encore pur sysadmin ?).

Une image Docker utilisable en prod doit être créée et maintenue conjointement par les devops et les sysops. On est pas censés mettre en prod des images docker publiques (sinon je sais pas quelle est la valeur ajoutée de l’entreprise qui met ça en prod…). Les images publiques sont par contre très pratiques pour tester un logiciel rapidement sans se poser de question, et le désinstaller sans laisser aucune trace (suffit de supprimer l’instance, rien n’aura été modifié sur l’OS hôte).


damaki Abonné
Il y a 7 ans

C’est pas en dev que j’ai rencontré les soucis, avec Docker. J’ai pas les mêmes contraintes avec 12 Go de ram sur ma machine de dev, et je le fais tourner sur une Manjaro, hébergée elle même sur du VM Ware sur un Windows. C’est du côté du transfert des images docker et du débogage des soucis sur ma préprod que c’était horrible. Si t’as pas un débit potable et que tu dois retransférer des images dockers plusieurs fois par jour, voir par heure pour tester, c’est juste pas la peine.
Là où je luttais à transférer mes images docker, en utilisant des paquets debian et des transferts de fichier avec Ansible, ça va mille fois mieux.
Sur alpine, j’ai rencontré des soucis avec des ensembles de paquets pas présents dans les repos officiels, ça allait largement plus vite de prendre une image Debian, avec tous les soucis de transfert des images que ça implique. J’ai rien vu d’insoluble, c’est juste que c’était clairement pas rentable pour mon cas. Et ça m’a donné une certaine vision de l’environnement requis pour que ça soit rentable.
Et au sujet d’Alpine, j’avoue que je reste pantois face à la volonté des créateurs de pas utiliser glibc dedans. Ça a un tel potentiel de merdouillage d’utiliser une lib moins mature, que j’hésite à utiliser ça.


sksbir
Il y a 7 ans

Hello
D’après ce que j’ai compris de Docker, et ce que personne ne souligne, c’est qu’une image docker écrite pour un moteur docker tournant sous windows ne pourra pas fonctionner sur un moteur docker tournant sous linux.
C’est la grosse différence avec les VM, qui, certe, sont grosses et lourdes et nécessitent une administration systeme, mais qui permettent aussi de s’affranchir de l’OS hôte.

Pour moi, un conteneur docker, c’est un peu comme une application portable, avec en plus une gestion des frontières de communication ( gestion des ports en entree/sortie ), ce qui permet un peu de jouer au lego avec les différents conteneurs pour arriver à construire son application.
Mais je peux me gourer, je ne suis pas spécialiste…


seb2411
Il y a 7 ans

Perso le plus gros soucis que je rencontre avec Docker c’est d’avoir quelque chose qui fonctionne comme prévu ^^ . En gros si tu veux du Docker tu t’orientes vers un cluster de servers, il te faut un outil d’orchestration. Et pour faire le bootstrap de la base il va déjà falloir faire un peu de boulot avec des scripts pour les backups, et le redéploiement du cluster si tout part en couille.

Une fois que tu as ta base c’est pas fini car il faut trouver un moyen propre de tout faire au niveau cluster et non plus au niveau OS. Par exemple avoir une solution pour pouvoir lire et surveiller tes logs… solution qui en générale dépend d’autres services comme elastic search qui elle même demande pas mal de services. Ou encore avoir des solutions pour partager les infos entre machine comme Etcd, et ensuite mettre en place des solutions pour gerer le DNS, le LB entre les containers, ne pas oublier que les données en container ne sont pas persistantes et qu’il faut créer quelque chose pour les sauvegarder, etc. Une fois que tu as fini tout ça et si ton cluster ne s’effondre pas tu peux commencer a jouer <img data-src=" />. Mais des fois on se fait peur a voir le nombre de container nécessaire pour lancer une application.

Bref si tu veux que ton appli soit dockerisee en prod de manière complète comme c’est vendu sur la plaquette publicitaire c’est un sacre boulot.

Au niveau dev c’est plus simple. Tu peux te faire pleins d’images docker “utilitaires” pour réaliser certaines taches, sans pourrir ton OS avec pleins de lib et paquets.


seb2411
Il y a 7 ans






sksbir a écrit :

Hello
D’après ce que j’ai compris de Docker, et ce que personne ne souligne, c’est qu’une image docker écrite pour un moteur docker tournant sous windows ne pourra pas fonctionner sur un moteur docker tournant sous linux.
C’est la grosse différence avec les VM, qui, certe, sont grosses et lourdes et nécessitent une administration systeme, mais qui permettent aussi de s’affranchir de l’OS hôte.

Pour moi, un conteneur docker, c’est un peu comme une application portable, avec en plus une gestion des frontières de communication ( gestion des ports en entree/sortie ), ce qui permet un peu de jouer au lego avec les différents conteneurs pour arriver à construire son application.
Mais je peux me gourer, je ne suis pas spécialiste…


Non les images sont compatibles entre elles. La seule problématique sur Windows et Max c’est que Docker s’appuie sur les fonctionnalités du noyau Linux. Et du coup sur ces OS tu as en général besoin d’une surcouche de virtualisation pour que Docker puisse retrouver ses petits.



sksbir
Il y a 7 ans






seb2411 a écrit :

Non les images sont compatibles entre elles. La seule problématique sur Windows et Max c’est que Docker s’appuie sur les fonctionnalités du noyau Linux. Et du coup sur ces OS tu as en général besoin d’une surcouche de virtualisation pour que Docker puisse retrouver ses petits.


Ha ok. Et cette surcouche, c’est l’hyperviseur dont parle l’article qui l’apporte, ou il faut encore autre chose ?



seb2411
Il y a 7 ans






sksbir a écrit :

Ha ok. Et cette surcouche, c’est l’hyperviseur dont parle l’article qui l’apporte, ou il faut encore autre chose ?


Oui.



Hellow
Il y a 7 ans

Étonné de ne voir personne parler de scalabilité, partage/économie de ressources et de résilience.
Car ce sont ceux-ci qui font l’intérêt de l’engine par rapport à une banale VM.
&nbsp;
Il faut bien comprendre que Docker ce n’est pas fait pour de la petite prod (bien que ça peut l’être).
&nbsp;Et c’est bien pour ça que j’ai évoqué les trois point plus haut, il est tout de même foutrement plus facile de mettre en place une architecture de 100+ nodes via Docker qu’avec des VMs.

&nbsp;Outre l’aspect prod, la techno est vachement utile dans les process de CI également (test u/fonctionnel dans un environnement sain et iso-prod par ex.)

Après le gros downside c’est la gestion de la persistance des données qui est un vrai casse-tête :/

Bref, un an que j’utilise Docker en projet, c’est pas encore parfait mais on y arrive :)


gjdass Abonné
Il y a 7 ans

Je viens de terminer la mise en place d’un workflow pour une API node que je développe en perso.

GitLab (sources) -&gt; push/merge -&gt; gitlab-ci-runner (build) -&gt; docker run -d.
Avec un webhook pour delete le container lancé une fois la branche supprimée.

Résultat des courses, chaque changement trigger un nouveau container (+ un mongo tout frais, non pollué) qui host et expose l’API.
Et c’est une révolution. Ça permet de load-balancer ses utilisateurs en quelques secondes si une nouvelle version de prod tourne mal. Ça permet de tester iso-prod le moindre push sur une branche. Ça permet de run chaque UT avec un mongo tout frais (et des datas non corrompus par d’autres tests). Et par dessus tout ça, aucune perte de performances pour le serveur puisqu’on parle pas de VM.

Bref, docker de mon point de vu, c’est du tout bon. Le seul point “noir”, j’ai trouvé difficile de rentrer dans le vif du sujet. C’est peut être moi le problème, ou le fait d’intégrer ça au milieu d’un gitlab je ne sais pas. Dans tous les cas, une fois qu’on a bien compris le fonctionnement et toutes les options disponibles, c’est un régal.


brazomyna
Il y a 7 ans






saladiste a écrit :

Peux-tu soit écrire en anglais, soit en français s’il te plait ? <img data-src=" />


Je pense qu’il s’y mettra dès que toi tu auras réussi à poster sur NXI ton premier commentaire un tant soit peu constructif.



maur1th
Il y a 7 ans






seb2411 a écrit :

Perso le plus gros soucis que je rencontre avec Docker c’est d’avoir quelque chose qui fonctionne comme prévu ^^ . En gros si tu veux du Docker tu t’orientes vers un cluster de servers, il te faut un outil d’orchestration. Et pour faire le bootstrap de la base il va déjà falloir faire un peu de boulot avec des scripts pour les backups, et le redéploiement du cluster si tout part en couille.

Une fois que tu as ta base c’est pas fini car il faut trouver un moyen propre de tout faire au niveau cluster et non plus au niveau OS. Par exemple avoir une solution pour pouvoir lire et surveiller tes logs… solution qui en générale dépend d’autres services comme elastic search qui elle même demande pas mal de services. Ou encore avoir des solutions pour partager les infos entre machine comme Etcd, et ensuite mettre en place des solutions pour gerer le DNS, le LB entre les containers, ne pas oublier que les données en container ne sont pas persistantes et qu’il faut créer quelque chose pour les sauvegarder, etc. Une fois que tu as fini tout ça et si ton cluster ne s’effondre pas tu peux commencer a jouer <img data-src=" />. Mais des fois on se fait peur a voir le nombre de container nécessaire pour lancer une application.

Bref si tu veux que ton appli soit dockerisee en prod de manière complète comme c’est vendu sur la plaquette publicitaire c’est un sacre boulot.

Au niveau dev c’est plus simple. Tu peux te faire pleins d’images docker “utilitaires” pour réaliser certaines taches, sans pourrir ton OS avec pleins de lib et paquets.


Tu peux tout à fait utiliser docker-compose sur du mono serveur, ça simplifie énormément la conf :
https://docs.docker.com/compose/overview/



gjdass Abonné
Il y a 7 ans

J’utilise des mots-clés. Quand on parle de git, on fait un push, pas un “poussé”. C’est compréhensible comme commentaire, faut pas pinailler pour des petites choses comme ça ^^ c’est un poil ridicule.


gjdass Abonné
Il y a 7 ans

Ce sont des mots clés également. Renseigne-toi dans ce cas avant de critiquer pour le plaisir :)
Container -&gt; cf. la documentation de Docker.
triggers/delete -&gt; cf. doc de GitLab et de git.

Merci.


typhoon006
Il y a 7 ans

Comment tu peux utiliser en prod un truc qui n’a aucune persistance de données ?&nbsp;
Je comprends le principe de Docker mais me faudrait un exemple concret d’utilisation, parce que jusque là tout ce que j’ai vu c’est des mecs qui lancent une instance en disant “ lol c’est trop bien” (je caricature)&nbsp;


brazomyna
Il y a 7 ans






typhoon006 a écrit :

Comment tu peux utiliser en prod un truc qui n’a aucune persistance de données ?&nbsp;


Il y a une peristance des données:




  • soit sous forme de volumes (qui sont en gros des instances docker qui sont justement faites pour ça et qui vont être rattachées à d’autres instances de docker qui contiennent l’applicatif, qui lui pourra être reconstruit à l’envi),

  • soit en “montant” (spéciale dédicace au saladisteer) dans l’instance docker des dossiers qui sont sur le filesystem de l’hôte.

    Tout est expliqué: Docker: Manage data in containers



typhoon006
Il y a 7 ans

Article sur un produit hyper technique destiné aux personnes dont c’est le métier.
Et devine quoi ? Dans le métier (l’IT) on utilise plein de terme technique anglais !&nbsp;
Ca n’a rien a voir avec “se la péter” c’est juste une déformation pro&nbsp;


typhoon006
Il y a 7 ans

oué donc en fait tu externalises ton stockage du container.
&nbsp;


seb2411
Il y a 7 ans






brazomyna a écrit :

Il y a une peristance des données:




  • soit sous forme de volumes (qui sont en gros des instances docker qui sont justement faites pour ça et qui vont être rattachées à d’autres instances de docker qui contiennent l’applicatif, qui lui pourra être reconstruit à l’envi),

  • soit en “montant” (spéciale dédicace au saladisteer) dans l’instance docker des dossiers qui sont sur le filesystem de l’hôte.

    Tout est expliqué: Docker: Manage data in containers


    C’est pas aussi simple:

  • Le volume est un container. Du coup il faut voir aussi son cycle de vie et ce n’est pas forcement simple.

  • Et pour ce qui du montage de volumes sur le système hôte, c’est a éviter pour autre chose que du dev.



vloz
Il y a 7 ans

Et on a pas attendu les container pour faire ça, c’est une bonne pratique à avoir meme en dehors de ce context.


gjdass Abonné
Il y a 7 ans

C’est pas grave laisse.

&nbsp;Je pense que faut laisser tomber avec ce genre de personnes ^^ J’ai essayé de me faire comprendre gentillement en lui répondant 2 fois mais visiblement on est face à un troll (ou un fanatique de la langue française je ne sais pas) :p


typhoon006
Il y a 7 ans

évidemment.
Mais j’aimerais qu’on me propose une application concrète de Docker en prod&nbsp;


Chocobidou
Il y a 7 ans

AU dernier Devoxx, il était installé en France, après peut-être que cela à changé


vloz
Il y a 7 ans






typhoon006 a écrit :

Mais j’aimerais qu’on me propose une application concrète de Docker en prod&nbsp;


Pourquoi? :S



seb2411
Il y a 7 ans






typhoon006 a écrit :

évidemment.
Mais j’aimerais qu’on me propose une application concrète de Docker en prod


https://www.youtube.com/watch?v=GaHzdqFithc enjoy <img data-src=" />



Hellow
Il y a 7 ans






seb2411 a écrit :

C’est pas aussi simple:




  • Le volume est un container. Du coup il faut voir aussi son cycle de vie et ce n’est pas forcement simple.

  • Et pour ce qui du montage de volumes sur le système hôte, c’est a éviter pour autre chose que du dev.



    Houlà et encore, là on parle de chose simple … quand tout tourne sur un seul node ça va.
    Mais récupérer ses données depuis plus de 100 nodes quand le conteneur est reschedulé autre part sur le cluster est bien plus chiant à gérer.
    &nbsp;
    Là on part sur des plugins Docker pour gérer le block/object storage, que ce soit du rbd, du S3 ou autre.
    Tout deviens beaucoup plus compliqué :)
    &nbsp;
    De plus en plus de solutions existent pour gérer cette problématique : Rancher l’a fait avec Convoy par exemple.
    Plus d’infos sur la page dédiée aux plugins&nbsp;;)
    &nbsp;
    Mais selon les environnements et le budget, on peut très vite se retrouver le dos au mur.
    Par exemple on utilisait la plateforme publique Openstack d’OVH pour spawn notre cluster Docker mais très vite tu te rends compte qu’il faut également de quoi stocker tes data … Alors que faire ?
    Monter de nouvelles machines en permanence pour pallier au problème (et potentiellement exploser ton budget), ou bien utiliser un service tierce (bucket S3, RBD …) ?
    &nbsp;
    Chez AWS tu aurais directement accès a du S3 sans trop de casser la tête, mais qu’en est-il si tu souhaite rester sur un cloud souverain ?

    Bref la persistance de données sous Docker amène tout un lot de problème qui faut savoir résoudre si l’on souhaite profiter de toute la puissance du moteur (à mon sens).



brazomyna
Il y a 7 ans






seb2411 a écrit :

C’est pas aussi simple:



- Le volume est un container. Du coup il faut voir aussi son cycle de vie et ce n'est pas forcement simple.      
- Et pour ce qui du montage de volumes sur le système hôte, c'est a éviter pour autre chose que du dev.






1) Je ne vois pas en quoi le cycle de vie d'un volume est compliqué.     


&nbsp;




  1. On pose une question factuelle sur la persistance, je sors les possibilités et la référence vers la doc. Je vois pas ce qu’il y a de subversif là-dedans.



    Hellow a écrit :

    la persistance de données sous Docker amène tout un lot de problème qui
    faut savoir résoudre si l’on souhaite profiter de toute la puissance du
    moteur (à mon sens).


    C’est pas Docker qui pose les problèmes (ou la complexité) dont tu parles, c’est avant tout ton besoin (qui est réel et légitime, là n’est pas le centre de la discussion) ; docker ou pas docker, ça ne change pas bézef au final.
    &nbsp;
    &nbsp;
    &nbsp;



Hellow
Il y a 7 ans

Essais donc RocketChat ;)
Facile à déployer et à scaler et propose officiellement des bots simple à programmer (pour saturer ton serveur et forcer le scaleup).


typhoon006
Il y a 7 ans

c’est pas une application concrète c’est pour jouer dans une sandbox.&nbsp;
Apparemment certains ici utilise Docker en prod, ca m’intéresserais de savoir ce qu’ils font exactement avec en prod, et pourquoi ils ont retenu cette solution.&nbsp;

Ces personnes peuvent me MP si elles ont peur d’en dire trop en public


ziouf
Il y a 7 ans

De ce que j’ai compris, pour ma part, cet outils permet de s’inscrire plus facilement dans une démarche de “Continuous Delivry”https://en.wikipedia.org/wiki/Continuous_delivery .

C’est plus pour répondre à une problématique organisationnelle et donc de réduction du coût de la fabrication de logiciel que pour répondre à un problème technologique ou fonctionnel du logiciel produit.

Je ne sais pas si je suis clair. :-/


seb2411
Il y a 7 ans

Yep complètement. Rancher est pas mal mais leur solutions de convoy aussi même si elle est pas vraiment utilisable avec GlusterFs car ayant des performances anémiques. Le mieux reste du NFS, mais du coup il faut setup un cluster NFS ^^ .

Sinon tu as Scaleway qui est pas mal pour du clustering lowcost avec SiS qui est un S3 (meme API) pas cher (mais pas encore dispo).


seb2411
Il y a 7 ans






brazomyna a écrit :




  1. Je ne vois pas en quoi le cycle de vie d’un volume est compliqué.
     


    1. On pose une question factuelle sur la persistance, je sors les possibilités et la référence vers la doc. Je vois pas ce qu’il y a de subversif là-dedans.


      C’est pas Docker qui pose les problèmes (ou la complexité) dont tu parles, c’est avant tout ton besoin (qui est réel et légitime, là n’est pas le centre de la discussion) ; docker ou pas docker, ça ne change pas bézef au final.


      Dans le cadre d’un cluster ca devient plus complexe. Car tu vas devoir gérer ton volume a travers les serveurs par exemple. Après je ne critiquais pas ta réponse j’essayais juste d’y apporter un complément d’information.




brazomyna
Il y a 7 ans






seb2411 a écrit :

Dans le cadre d’un cluster ca devient plus complexe. Car tu vas devoir gérer ton volume a travers les serveurs par exemple.




 J'ai jamais eu personellement à m'attaquer a ce genre de besoin, mais je pense qu'à partir du moment où tu commences à avoir un cluster de machines qui font des accès concurrents à une même source de données, docker, VM ou machines physiques, tu te dois de mettre en place une solution spécifique pour gérer tout cas (atomicité, transactionnel, retour sur incident, etc..., etc...).       
&nbsp;
Effectivement Docker va pas te proposer un outil magique, mais pour moi il est pas là pour ça ; lui son objectif c'est la gestion/simplification du contexte d'exécution de l'applicatif pas la solution miracle qui résout tous les soucis, y compris de gestion de stockage distribué.



Pour ça, il va falloir se tourner vers des solutions tierces en complément, tout comme on l’aurait fait pour un cluster de VM ou de machines physiques.



     Admettons qu'après avoir fait le tour de la question et de ton besoin, tu en conclus que finalement c'est GlusterFS ou HDFS (admettons, je balance des noms, j'y connais rien) qui va correspondre le mieux à ce que tu cherches. Que ton appli tourne dans du Docker ou pas, tu mets en place cette solution, tu cables ça avec ton applicatif et roulez jeunesse.       
&nbsp;


madhatter Abonné
Il y a 7 ans






Hellow a écrit :

[…] Monter de nouvelles machines en permanence pour pallier au problème (et potentiellement exploser ton budget), ou bien utiliser un service tierce (bucket S3, RBD …) ? […]
&nbsp;

Moi les anglicismes, j’ai rien contre. En revanche, on dit “pallier quelque chose” et non “pallier à quelque chose”. <img data-src=" />



anonyme_92fcfbdd6cc3f0397af3a985adab6b1b
Il y a 7 ans






typhoon006 a écrit :

évidemment.
Mais j’aimerais qu’on me propose une application concrète de Docker en prod


Hitler l’a utilisé. On sait tous comment ça a fini.<img data-src=" />



vloz
Il y a 7 ans

Tu utilises quoi comme outil d’orchestration?


127.0.0.1
Il y a 7 ans






typhoon006 a écrit :

évidemment.
Mais j’aimerais qu’on me propose une application concrète de Docker en prod



Cas concret:

On a installé “redmine” sur un serveur pour gérer un gros projet de développement (avec des sous projets). Ce redmine a été customisé (champs spécifiques, plugins, …)

Un second projet se monte, et il voudrait aussi utiliser redmine. Mais le redmine actuel a été tellement customisé que ce n’est pas possible de l’utiliser pour le nouveau projet. Sans compter qu’une nouvelle version de redmine est sortie avec plein de fonctionnalités qui seraient utiles au nouveau projet.

Il y a aussi des gens qui voudraient bien evaluer redmine pour faire du “knowledge management”. Ca requiert aussi pas mal de customisation… et ca sera peut-être abandonné si redmine ne convient pas.

Avant docker, j’aurais créé un serveur virtuel par projet = 3 x (OS + httpd + RoR + MySQL + redmine).

Là, j’ai créé un serveur avec docker (OS + docker) et j’ai téléchargé le container redmine, ainsi que celui de mysql.
Je lance 2 instances (une pour le nouveau projet et l’autre pour l’evaluation). Et je compte créer une 3ème instance pour migrer les données du serveur redmine originel.

Au final j’aurais un seul serveur (un seul OS) et je pourrais créer/migrer autant d’instances de redmine que je veux, y compris dans des versions différentes.



typhoon006
Il y a 7 ans

Ah enfin !&nbsp;Merci.&nbsp;
Là c’est clair, et en plus tu montres en quoi Docker devient intéressant.&nbsp;
&nbsp;


Hellow
Il y a 7 ans






ziouf a écrit :

De ce que j’ai compris, pour ma part, cet outils permet de s’inscrire plus facilement dans une démarche de “Continuous Delivry”https://en.wikipedia.org/wiki/Continuous_delivery .

C’est plus pour répondre à une problématique organisationnelle et donc de réduction du coût de la fabrication de logiciel que pour répondre à un problème technologique ou fonctionnel du logiciel produit.

Je ne sais pas si je suis clair. :-/


Oui Docker s’intègre très bien dans les processus devops mais ce n’est qu’une des nombreuses possibilités qu’offre le produit :)
Ici c’est de l’exécutable jetable. &nbsp;Nouvelle version dispo ? On dump l’ancien conteneur et on lance un nouveau (à jour), pour simplifier.

&nbsp;

typhoon006 a écrit :

c’est pas une application concrète c’est pour jouer dans une sandbox.&nbsp;
Apparemment certains ici utilise Docker en prod, ca m’intéresserais de savoir ce qu’ils font exactement avec en prod, et pourquoi ils ont retenu cette solution.&nbsp;

Ces personnes peuvent me MP si elles ont peur d’en dire trop en public


Hum, &nbsp;je faisais de l’IAAC (avec Openstack) et du clustering via CoreOS+Kubernetes sur mon ancien projet mais c’est jamais passé en prod (manque de moyens interne) …

&nbsp;



seb2411 a écrit :

Yep complètement. Rancher est pas mal mais leur solutions de convoy aussi même si elle est pas vraiment utilisable avec GlusterFs car ayant des performances anémiques. Le mieux reste du NFS, mais du coup il faut setup un cluster NFS ^^ .

Sinon tu as Scaleway qui est pas mal pour du clustering lowcost avec SiS qui est un S3 (meme API) pas cher (mais pas encore dispo).


GlusterFS en prod c’est pas très glop … Pas très stable, sinon ça serait une des façons d’aborder le problème (même si la concurrence des I/O risquerais de foutre le bordel).
Le top reste, soit S3, soit rbd. Tu as toujours des solutions comme Rexray qui fonctionne avec les volumes Openstack mais ça tiens plus du bidouillage qu’autre chose ou Openlibstorage.

Sinon, déjà utilisé Scaleway mais Docker sous armhfs à tout de même de grosses lacunes (manque d’images surtout).&nbsp;&nbsp;



Hellow
Il y a 7 ans






madhatter a écrit :

Moi les anglicismes, j’ai rien contre. En revanche, on dit “pallier quelque chose” et non “pallier à quelque chose”. <img data-src=" />


<img data-src=" />


vloz a écrit :

Tu utilises quoi comme outil d’orchestration?


J’ai utilisé un peu de tout : Kubernetes, Nomad, Rancher et Fleet.
Kubernetes reste mon préféré actuellement, bien que Rancher propose de belles features également :)
&nbsp;
Nomad et Fleet ne sont pas à la hauteur pour le moment … L’équipe de dev de Nomad mets trop de temps en chaque version (dernière version sortie en Janvier) et ne gère vraiment pas bien Docker; tandis que Fleet est trop basique (systemd like) à mon goût.



127.0.0.1
Il y a 7 ans

j’ai juste survolé les possibilités. Par exemple, le container redmine intègre un mini serveur http et une mini bdd (sqlite). c’est suffisant pour le groupe qui veut faire une évaluation.

Pour le projet de dev, j’ai téléchargé le container mySQL et j’ai “relié” le container redmine du projet de dev au container MySQL. Suffit de modifier 2 lignes dans Docker pour que redmine utilise mysql.

Par la suite je pourrais installer un container Postgresql ou un container plus récent de MySQL pour tester une migration: par exemple un clone du container redmine projet + le container Postgresql. Et si ca fonctionne, ca passe en prod.

Je peux aussi télécharger un container de httpd (apache) ou Nginx pour remplacer le serveur http intégré du container redmine. Idem, je peux faire un test en assemblant les containers avant de passer le tout en prod.

Avant Docker, je me débrouillais pour faire des installations “portables”: chaque appli/service installé dans son répertoire dédié, et pas mal d’huile de coude dans les fichiers de configuration pour lier les applis/services entre eux.

Docker simplifie tout ca. Perso, je vois ca comme du “portable-apps” pour serveur.


Hellow
Il y a 7 ans

Très mauvaise idée de mettre plus qu’un process dans un container …
Les best-pratices conseillent d’en lancer qu’un seul et quand on voit ce que peut donner un process zombie sur l’hôte …

En passant par du docker-compose tu pourrais te simplifier un peu plus la vie à niveau là par ailleurs (si jamais ce n’était pas encore fait) ;)


typhoon006
Il y a 7 ans

Avec 1 process par container tu te retrouves pas a consommer plus de ressources au final ?&nbsp;


Hellow
Il y a 7 ans

Pas nécessairement, par défaut les conteneurs ont une empreinte mémoire très réduite (mais peut être contrôlé).

Docker a adopté la philosophie du micro-service, un conteneur ne fait qu’une chose mais il le fait bien.
Et c’est grâce à celle-ci que le scalling et la resilience sont possible sans trop d’effort.

Prenons le cas du container redmine de 127.0.0.1, le serveur web à besoin d’être mis à jour. Qu’est-ce que tu fais ? Tu rebuild entièrement l’image pour faire la màj ? Tu as attends une màj de redmine pour faire les deux en même temps ?

Pas très pratique, car tu t’obliges à faire un build inutile et tu devrais par la suite couper ton conteneur puis enfin lancer le nouveau (en admettant que tu n’as pas de reverseproxy et de load-balancing).

Découper au maximum les processus dans leurs propre conteneur permet d’avoir plus d’agilité sur leur maintenance :)


seb2411
Il y a 7 ans

Scaleway ne fait maintenant plus exclusivement du ARM ^^ .


alain_du_lac Abonné
Il y a 7 ans

Merci de traduire ton propos en français lisible …


gjdass Abonné
Il y a 7 ans

Vous vous passez le mot entre personnes aigris ou pas ? Lis les commentaires plus bas, j’ai déjà expliqué pourquoi mon commentaire contient des mots Anglais. C’est très clair, très compréhensible. Ce sont des mot-clés des différentes technos que je cite.
Ensuite mon commentaire n’a pas vocation à te faire comprendre ce qu’est Docker ou Git si tu ne le sais pas. Il y a de la documentation pour ça. Donc si tu comprends pas, tu lis la doc, ou tu te rends à des meetups.

Merci :) Très constructif.


brazomyna
Il y a 7 ans






saladiste a écrit :

C’est surtout illisible. <img data-src=" />


<img data-src=" />



dchapkine
Il y a 7 ans

Une analyse plus compléte et technique des nouveautés de cette version:&nbsp;https://goo.gl/L8YvYS