background preloader

Docker

Facebook Twitter

Docker en production : la bataille sanglante des orchestrateurs de conteneurs. Cela fait maintenant plusieurs mois, voire plus d’un an que vous êtes intellectuellement convaincus de l’approche de Docker et des conteneurs applicatifs : portabilité, universalité, volatilité.

Docker en production : la bataille sanglante des orchestrateurs de conteneurs

La promesse est tenue et vous avez déjà remporté quelques victoires en développant localement et sur quelques environnements d’intégration, bravo. C’est à ce moment que la question du passage à l’échelle se pose et d’un coup, le signal se brouille. Vous êtes soudainement noyés sous un déluge de noms et d’acronymes barbares. Et surtout, vous sentez comme une odeur de poudre. Il y a du rififi au pays des moteurs de clustering Docker.

Nous vous proposons ici quelques éléments pour y voir un peu plus clair dans l’opposition Kubernetes/Swarm. Commençons par regrouper tout ces produits comme étant (au moins sur une partie de leur périmètre) des CaaS, pour Container as a Service. L’enjeu de cette guerre froide est sans appel : celui qui remportera la bataille des orchestrateurs dominera le monde. Docker en production, les bonnes pratiques – Alfa-Safety. Rac021/Root66_Docker. Proxifier des machines virtuelles et des containers docker tournant sur la même machine physique – Le blog de ZoL. Par Mathieu Molimard, le 08/06/2015 Nous avons été confronté à la problématique de la configuration de Nginx (en mode serveur web et reverse proxy), de Vagrant et de Docker sur notre serveur de pré-production que nous utilisons afin de réaliser des CQTs (cellule qualité temporaire) et permettre à nos clients de faire la “recette” des derniers développements effectués par les équipes projets.

Proxifier des machines virtuelles et des containers docker tournant sur la même machine physique – Le blog de ZoL

A l’origine, notre plateforme de pré-production hébergeait tous nos projets sur : un seul et même serveur physique… un seul et même serveur web Apache… une seule et même base de données… Vagrant Nous avons ensuite décidé, mi 2014, de mettre en oeuvre VirtualBox et Vagrant pour tous nos projets, en dev comme en preprod. Clonage du repository sur le serveur de preprod via git. Ce process permettait de passer d’un environnement de dev à l’environnement de preprod très simplement.

Config.hostmanager.enabled = trueconfig.hostmanager.manage_host = true. Utilisation d'Nginx comme reverse proxy avec un certificat auto-signé, Let's Encrypt et un chiffrement fort - HomeServer.DIY. De HomeServer.DIY.

Utilisation d'Nginx comme reverse proxy avec un certificat auto-signé, Let's Encrypt et un chiffrement fort - HomeServer.DIY

Introduction Le SSL est de plus en plus utilisé par les services auto-hébergés. Let's Encrypt & Docker - Træfik. In this use case, we want to use Træfik as a layer-7 load balancer with SSL termination for a set of micro-services used to run a web application.

Let's Encrypt & Docker - Træfik

Cluster RabbitMQ avec Docker Swarm. Alpine ou comment faire une image Docker très légère. Puisque ces temps-ci je met à profit mes compétences CoreOS/Docker de manière plus soutenue, je me suis dit que quelques articles sur mon blog pour partager quelques astuces pourrait être de bon allois (t’as vu !).

Alpine ou comment faire une image Docker très légère

Alors aujourd’hui, je vais parler de Alpine, une distribution pour conteneur très légère et pourtant très fournie. L’un des soucis majeurs avec Docker c’est bien l’espace nécessaire pour une image. Certes, le fait de partir d’une même image de base (debian, fedora, centos…) ne va pas dupliquer l’espace (parce que Docker utilise un système d’union fs) mais tout de même… Quand on se retrouve à vouloir fournir une image qui contient un seul binaire de 1 ou 2 Mo, on a une image de 100Mo voir 200Mo à fournir. Et j’exagère à peine. L’idée est donc de réduire un maximum l’espace nécessaire.

Mais quoiqu’il arrive, une distribution “commune” telle que debian, fedora, centos, etc. ont la facheuse tendance à installer, de base, pas mal d’outils inutiles dans une image Docker. Alpine Linux package management - Alpine Linux. Because Alpine Linux is designed to run from RAM, package management involves two phases:

Alpine Linux package management - Alpine Linux

10 Alpine Linux apk Command Examples. I am new Alpine Linux system admin user. Gestion de mes services auto-hébergés avec Docker. Ça fait bientôt 12 mois que tous les services que j’héberge sur la SheevaBoite tournent en tant que container Docker et cerise sur le gâteau la SheevaBoite ne s’est jamais aussi bien portée !

Gestion de mes services auto-hébergés avec Docker

Dans ce poste, on va voir comment j’utilise docker pour héberger simplement mes containers et pouvoir tester de nouveau services rapidement. On va donc installer une instance de Plex et une instance de PlexPy qui permet de surveiller qui consomme quoi sur votre instance Plex. Traefik, le reverse-proxy HTTPS pour containers Docker. Dans le précédent article sur Docker, je vous expliquais comment gérer des services auto-hébergés avec Docker.

Traefik, le reverse-proxy HTTPS pour containers Docker

Dans celui-ci je vais vous montrer comment gérer l’exposition de mes services sur internet, et avoir un certificat Let’s encrypt pour chaque sous-domaine. Pré-requis Vous devrez avoir une box internet déjà configurée pour faire du NAT. Je ne vais pas aborder cela dans cet article, mais il faut que la machine qui héberge vos containers soit accessible de l’éxtérieur de votre réseau local sur le port 80. Il faudra bien sûr, un nom de domaine public pour que Let’s Encrypt puisse le valider. Traefik, le reverse-proxy HTTPS pour containers Docker. Traefik, un reverse-proxy pour vos conteneurs - Blog de l'équipe Osones - Experts Cloud. Dans un précédent article nous avons parlé de Consul et notamment de Consul-template, un binaire permettant de recharger une configuration pour que celle ci reflète les conteneurs up ou down à un moment donné.

Traefik, un reverse-proxy pour vos conteneurs - Blog de l'équipe Osones - Experts Cloud

Ce n'était pas propre, mais à l'époque, ni Nginx, ni HAProxy ne savait directement parler à Consul et n'avait aucun moyen d'updater leur conf autrement. Et bien aujourd'hui vous savez quoi ? C'est toujours pas possible. Mais ! Y'a Traefik ! La problématique est un peu toujours la même, les conteneurs ça apparait et ça disparait assez vite, on ne veut pas avoir à maitriser le port de l'host sur lequel ils écoutent et quand il s'agit de webservices, ça devient vite problématique...

Proxifier des machines virtuelles et des containers docker tournant sur la même machine physique – Le blog de ZoL. Docker et ses networks. Arrivé avec la version 1.9 en octobre 2015, les networks de Docker ont apporté une meilleur gestion de la configuration réseaux et remplace aisément l’ancienne fonctionnalités de linking de Docker.

Docker et ses networks

La gestion des networks a été égalementajoutée à la version 2 de docker-compose, ce qui aurait dû en accélérer l’adoption. Pourtant, on trouve beaucoup d’exemples récents n’utilisant pas encore les networks, et trop de personnes ne savent pas utiliser pleinement. Setup Automatic Deployment, Updates and Backups of Multiple Web Applications with Docker on the Scaleway Server. The purpose of this setup is: Setup multiple web apps with different dependencies on the same serverLink all apps to the same MySQL serverManage uploaded files for web apps in the single place (so it is easy to backup them)Automatically deploy and update apps on the remote serverRun the same setup locally, so development environment is very close to productionSetup backups for MySQL databases and for uploaded files In this case I deploy to Scaleway, but same approach can be used for almost any cloud service.

Cloud Server First, you need the cloud server with one of operation systems, supported by Docker Machine with SSH access. Optimiser l’hébergement d’un site internet avec WordPress sur un VPS grâce à Docker. Premier point intéressant concernant l’utilisation de Docker dans notre cas: l'isolation procurée par le fait d'installer les différents composants au sein de containers distincts permet d'accroître directement la sécurité de mon serveur.

En cas de faille affectant WordPress, celle-ci permettra peut-être d’accéder aux fichiers de configuration de WordPress, mais en aucun cas au VPS lui-même, ni à l’application Piwik. Si l’un de mes conteneurs est piraté, il me suffit de l'arrêter, de restaurer une sauvegarde propre du conteneur et d'appliquer les mises à jour et corrections directement, puis de relancer mon conteneur sans que cela n'impacte mes autres conteneurs. Autre point important: l'évolutivité de la solution. Créer des serveurs virtuels Debian 7 Wheezy avec LXC sur un dédié OVH Kimsufi. (Dernière mise à jour : 19 février 2015) Présentation de LXC Tout comme Linux-VServer et OpenVZ, LXC est une solution de virtualisation de type isolateur. Cette solution permet la virtualisation par container au niveau du noyau. LXC est très récent et remplace Linux-VServer et OpenVZ.

Aussi, LXC est dès à présent intégré au noyau, ce qui n’a jamais été le cas des deux solutions citées précédemment. L’isolateur tire avantage de la possibilité, unique sous UNIX et Linux, de partager le noyau avec d’autres processus du système. Un programme, ensemble de programmes ou système dans le cas de virtualisation à noyau partagé fonctionnant dans un environnement chroot est protégé en faisant croire au système emprisonné qu’il fonctionne sur une machine réelle avec son propre système de fichiers. Les Conteneurs Linux. Hôte, conteneur, isolation et performances La virtualisation est un vaste et complexe sujet (que je ne maîtrise pas !). Mais au fond, cela revient à une chose simple permettre de faire fonctionner un (ou plusieurs) système d'exploitation (et/ou des applications) comme s'il était sur sa propre machine, alors qu'en réalité il tourneau sein d'un système d'exploitation hôte.

Et pour arriver à ce résultat, il y a en gros trois approches : La virtualisation par isolation - cela consiste à mettre en place des contextes permettant de redéfinir ce que voit le conteneur. C'est typiquement ce que fait chroot qui cache la racine réelle du serveur pur ne montrer aux processus enfant qu'une partie de l'arborescence. Finalement, ce que l'on peut en déduire à notre niveau, c'est que plus l'isolation entre le conteneur et l'hôte est forte, plus la partie logicielle qui va gérer le conteneur est complexe, et de manière incidente, plus les performances au sein du conteneur s'éloignent d'un système natif. How do I redirect subdomains to a different port on the same server? Apache - How to forward a subdomain to a new port on the same IP address? Bind container ports to the host - Docker. Estimated reading time: 3 minutes. Configurer automatiquement Nginx avec Docker et Docker-gen.

Dans cet article, je vous propose de mettre en place un serveur web NGINX qui va servir de frontal pour vos différents conteneurs Docker. La solution retenu permet de configurer automatiquement NGINX à partir des images et containers démarrés par Docker sans opération manuelle de votre part sur Nginx. Nous utilisons l’outil docker-gen pour la configuration de nginx. Automated Nginx Reverse Proxy for Docker · A reverse proxy server is a server that typically sits in front of other web servers in order to provide additional functionality that the web servers may not provide themselves.

For example, a reverse proxy can provide SSL termination, load balancing, request routing, caching, compression or even A/B testing. When running web services in docker containers, it can be useful to run a reverse proxy in front of the containers to simplify depoyment. How to Route Docker Container Env Specific DNS URL’s Through Hipache. An other wonderful day ended up with a good experiment on how the docker containers can be divided and routed according to their environments specified. Lets take a Client from x location opened the url (www.dockerstack.org) routes through the DNS Registar and as per the records it routes back to the Specified Public ip and from their will proxy(Hipache) to the specified docker container and serves the content back to the client.

Same as well if a Client from y location opened url (dev.dockerstack.org) routes via DNS Registar and then back to the Specified Ip and from their to another Docker Container. Hipache, un reverse proxy Web. DNSMasq : Le DNS/DHCP du pauvre. Logiciels de l’écosystème Docker. Tutoriel Docker : faire un Hello World avec Docker. Oui oui, il s’agit bien d’une incrustation sur Michel Cymes.