Catégorie : Microsoft

Docker Engine pour Windows Server

Hello,

Microsoft & Docker viennent d’annoncer au sein de la prochaine édition de Windows Server (Windows Server 2015), la possibilité de faire fonctionner des conteneurs dockers de manière native ! Depuis Juin 2014, le service cloud Azure de Microsoft permettait déjà de faire tourner des conteneurs Docker, mais cette fois cela directement en natif !

« Les conteneurs de Docker développés pour Linux ne pourront pas tourner, du moins pas en natif, sous Windows Server, et vice versa. Mais la version de Windows Server aura les mêmes caractéristiques que la version Linux, ce qui permettra de gérer et d’orchestrer les deux versions à partir du même jeu de contrôles », a précisé Solomon Hykes (Créateur & CTO Docker).docker_engine

 

Cette annonce marque un nouveau virage technologique au sein des approches que nous pouvons avoir afin de virtualiser nos applications !

 

Source: http://msopentech.com/blog/2014/10/15/docker-containers-coming-microsoft-linux-server-near/

Docker avec Windows

Hello,

Aujourd’hui, je vais vous présenter comment utiliser des conteneurs Docker dans un environnement Windows.

Dans un premier temps nous allons définir ce qu’est l’architecture Docker, puis par la suite nous verrons comment utiliser Docker dans un environnement Windows.

  • Docker c’est ? homepage-docker-logo-S

Docker est un outil open-source né au sein du mouvement « DevOps » permettant de créer des conteneurs.

Un conteneur est est une forme de virtualisation légère. Un seul est meme noyau est utilisé par les containers qui sont isolés les uns des autres.
Docker permet de créer un container sur une machine puis de l’exécuter sur n’importe quelle autre.

Docker étend le format de Conteneur Linux standard, LXC, avec une API de haut niveau fournissant une solution de virtualisation qui exécute les processus de façon isolée.

Docker utilise LXC, cgroups, et le noyau Linux lui-même. Contrairement aux machines virtuelles traditionnelles, un conteneur Docker n’inclut pas de système d’exploitation, à la place il s’appuie sur les fonctionnalités du système d’exploitation fourni par l’infrastructure sous-jacente.

docker_archi2

 

A l’heure ou j’écris cet article Docker est en version : 1.3.0

  • Docker dans un environnement Windows avec Boot2Docker:

Pour faire fonctionner l’outil Docker il est requis de fonctionner sur une architecture de type Unix (Linux / MacOSX). Dans le cas ou nous sommes dans un environement Windows, il est possible de faire fonctionner l’outil Docker dans une machine virtuelle (Tiny Core: pèse 27Mo et démarre en environ 5 secondes) via l’outil Boot2Docker.

  • Installation & Configuration:

La version de Boo2Docker (version 1.3) pour Windows est composée de :

  • Boot2Docker 1.3.0 (Docker v1.3.0, Linux v3.16.4)
  • Boot2Docker Management Tool v1.3.0
  • VirtualBox v4.3.18-r96516
  • msysGit v1.9.4-preview20140929

boot2docker_1
boot2docker_2
boot2docker_3
boot2docker_4
boot2docker_4

 

  • Créer son premier conteneur:

Une fois que nous avons notre plateforme d’installée, nous allons pouvoir l’initialiser et créer notre premier conteneur. Pour cela cliquer sur l’icone « Boot2Docker Start » présent sur votre bureau.
Vous devez vous retrouver sur un prompt de commande : docker@boot2docker$
Si ce n’est pas le cas je vous invite à vérifier votre variable d’environnement PATH, elle doit contenir : « C:\Program Files\Boot2Docker for Windows;C:\Program Files (x86)\Git\bin; »

boot2docker_start

Nous allons récupérer un container déjà construit (il en existe des milliers c’est une des grandes forces de docker!) ubuntu et lancer bash dessus:

Télécharger un container pré-construit depuis le dépôt: docker pull ubuntu

Lancer un shell bash sur container « ubuntu »: docker run -i -t ubuntu /bin/bash

docker_ubuntu

  • Quelques Commandes:

Rechercher un containeur depuis le HUB docker : docker search debian

Lister les containers démarrés: docker ps -a

Lister les images: docker images

Mettre en pause un containeur:  docker pause <container name>

Sortir un containeur de pause: docker unpause <container name>

Sauvegarder l’état d’un containeur: docker commit  id

Supprimer un containeur: docker rm <container name>

Supprimer une image: docker rmi id_ou_nom_de_l_image

Connaitre les infos de son système: docker version

Obtenir les logs d’un containeur: docker logs id

Exporter un containeur: docker export id > monbeaucontainer.tgz

Importer un containeur: cat monbeaucontainer.tgz | docker import – monbeaucontainer

Dans un second article, je vais vous présenter comment automatiser le déploiement de containeur docker, à l’aide de fichier de configuration « DockerFile« . A ce jour le projet docker est en plein « boom », je vous invite à regarder si il n’y a pas un Meetup autour de chez vous, ou encore vous pouvez suivre les Meetup officiel directement en ligne.