SlideShare a Scribd company logo
1 of 25
Comment remplacer cygwin par Docker
AUTEURS : NICOLASTRAUWAEN & MAXENCEADNOT
Qui est ikoula ?
Création : 1998
8 000 OS en
production
Effectif : 47 employés
5 000 serveurs
physiques
2 datacenters en
France et présence
sur 3 continents
Un peu d’histoire
Admin système linux sous Windows
Ou merci cygwin
 Un environnement linux émulé en local
 Une installation simple
 Sélection de paquets (attention aux dépendances)
 La plupart des commandes linux sont portées
 Certaines doivent être installées à part (ex: dig)
 Ajout ou mise à jour : re-setup
Qu’est-ce que cygwin
Console xterm sous cygwin
Remplacer cygwin par docker
Pourquoi réinventer la roue ?
 Pour le défi
 Rester dans l’environnement d’origine des
commandes linux
 Garder un poste Windows « clean »
 Faire cohabiter différentes versions d’un
même outil sans se soucier des conflits
Comment faire ?
 Docker Machine for running docker-machine commands
 Docker Engine for running the docker commands
 Docker Compose for running the docker-compose
commands
 Kitematic, the Docker GUI
 a shell preconfigured for a Docker command-line
environment
Docker toolbox
Connecter sa console au docker
engine
MINGW64 ou PowerShell ?
Console par défaut de Docker
toolbox
 MINGW64
 Connectée
au docker
engine
 Console MS-DOS like peu confortable
Console PowerShell
 Console
avancée
de
Windows
 Socle des
scripts
Windows
 Une commande pour se connecter au Docker Engine
Comment ça marche ?
 La console PowerShell – pour rester dans le natif
 Un script d’initialisation (env.psm1) pour
 Connecter la console au Docker Engine
 Charger les définitions des commandes – pour rendre l’appel aussi natif que
sous linux
 Un script .ps1 par commande
 Des Dockerfiles
 Si une image n’est pas présente dans le Docker Hub : construction au
premier appel
Quelques scripts pour un usage
transparent
ENV.PSM1
# Run drill in a container
# Build if needed
if (!(docker images | Select-String -Pattern ikoula/drill)) {
docker build -t ikoula/drill -f DockerfilesdrillDockerfile .
echo `n
}
docker run --rm -it ikoula/drill $args
Un script PowerShell ex: DRILL.PS1
FROM alpine
RUN apk update 
&& apk add drill 
&& rm -rf /var/cache/apk/*
ENTRYPOINT ["drill"]
Un Dockerfile correspondant
Comment on l’utilise ?
Chargement dans l’environnement
Appel des commandes
Et après…
 Ajouter d’autres outils : Ansible ; tmux ; etc.
 Prendre en charge les fichiers de configuration existants
 Charger la docker machine de son choix sans avoir à modifier le
fichier env.psm1
 Si une commande n’existe pas, tenter de la créer à la volée
 Faire l’équivalent sous linux (utile pour coreOS, rancherOS)
 Windows containers
Axes d’évolution
 https://docs.docker.com/engine/installation/windows/
 https://github.com/trotro/dockerized-apps
 https://www.ikoula-blog.com
 https://fr.ikoula.wiki/
 https://msdn.microsoft.com/en-
us/virtualization/windowscontainers/quick_start/manage_docker
Ressources
Rejoignez-nous !
R & D
Reims (51)
Créatifs et passionnés par l’innovation,
intégrez la R&D !
Commerciaux
Boulogne-Billancourt (92)
Conseiller et imaginer des solutions
pour répondre à un besoin vous motive
? Rejoignez nos équipes commerciales
et avant-vente
Exploitation
Reims (51)
Attirés par l’accompagnement
utilisateur et l’administration système,
le support est fait pour vous.
D’autres compétences
?
N’hésitez pas à nous proposer votre
candidature spontanée !
jobs@ikoula.com
https://www.ikoula.com/fr/emploi
@ikoula ou @ikoula_EN
Ikoula Hosting Services
Ikoula
Ikoula
Gardez le contact !
AUTEURS : NICOLAS TRAUWAEN & MAXENCE ADNOT

More Related Content

What's hot

Déploiements avec Docker
Déploiements avec DockerDéploiements avec Docker
Déploiements avec DockerLuis Lopez
 
Devops d-day 2017 docker openstack docker
Devops d-day 2017  docker openstack dockerDevops d-day 2017  docker openstack docker
Devops d-day 2017 docker openstack dockerAlexis Ducastel
 
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?ALTER WAY
 
Fonctionnalites et performances des cni pour Kubernetes - devops d-day 2018
Fonctionnalites et performances des cni pour Kubernetes - devops d-day 2018Fonctionnalites et performances des cni pour Kubernetes - devops d-day 2018
Fonctionnalites et performances des cni pour Kubernetes - devops d-day 2018Alexis Ducastel
 
Paris Container Day 2016 : Architecture microservices hautement disponible au...
Paris Container Day 2016 : Architecture microservices hautement disponible au...Paris Container Day 2016 : Architecture microservices hautement disponible au...
Paris Container Day 2016 : Architecture microservices hautement disponible au...Publicis Sapient Engineering
 
Techdays azure pour les développeurs
Techdays azure pour les développeursTechdays azure pour les développeurs
Techdays azure pour les développeursAymeric Weinbach
 
SUSE OpenStack Cloud 7
SUSE OpenStack Cloud 7SUSE OpenStack Cloud 7
SUSE OpenStack Cloud 7SUSE
 
Introduction à docker.io
Introduction à docker.ioIntroduction à docker.io
Introduction à docker.ioNicolas Hennion
 
Distribuer une application avec Symfony & Docker *
Distribuer une application avec Symfony & Docker *Distribuer une application avec Symfony & Docker *
Distribuer une application avec Symfony & Docker *Thierry M.
 
Docker en Production (Docker Paris)
Docker en Production (Docker Paris)Docker en Production (Docker Paris)
Docker en Production (Docker Paris)Jérôme Petazzoni
 
DevCon 3 : Containérisation d’applications
DevCon 3 : Containérisation d’applicationsDevCon 3 : Containérisation d’applications
DevCon 3 : Containérisation d’applicationsCellenza
 
Docker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à DockerDocker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à DockerThibaut Marmin
 

What's hot (20)

Be zend docker
Be zend dockerBe zend docker
Be zend docker
 
Déploiements avec Docker
Déploiements avec DockerDéploiements avec Docker
Déploiements avec Docker
 
Devops d-day 2017 docker openstack docker
Devops d-day 2017  docker openstack dockerDevops d-day 2017  docker openstack docker
Devops d-day 2017 docker openstack docker
 
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
 
Fonctionnalites et performances des cni pour Kubernetes - devops d-day 2018
Fonctionnalites et performances des cni pour Kubernetes - devops d-day 2018Fonctionnalites et performances des cni pour Kubernetes - devops d-day 2018
Fonctionnalites et performances des cni pour Kubernetes - devops d-day 2018
 
Intro docker
Intro dockerIntro docker
Intro docker
 
Storage Replica
Storage ReplicaStorage Replica
Storage Replica
 
Windows Server2016 - Episode01 - NanoServer
Windows Server2016 - Episode01 - NanoServerWindows Server2016 - Episode01 - NanoServer
Windows Server2016 - Episode01 - NanoServer
 
Tp docker-v21
Tp docker-v21Tp docker-v21
Tp docker-v21
 
Livre blanc docker
Livre blanc docker Livre blanc docker
Livre blanc docker
 
Paris Container Day 2016 : Architecture microservices hautement disponible au...
Paris Container Day 2016 : Architecture microservices hautement disponible au...Paris Container Day 2016 : Architecture microservices hautement disponible au...
Paris Container Day 2016 : Architecture microservices hautement disponible au...
 
Techdays azure pour les développeurs
Techdays azure pour les développeursTechdays azure pour les développeurs
Techdays azure pour les développeurs
 
SUSE OpenStack Cloud 7
SUSE OpenStack Cloud 7SUSE OpenStack Cloud 7
SUSE OpenStack Cloud 7
 
Introduction à docker.io
Introduction à docker.ioIntroduction à docker.io
Introduction à docker.io
 
Distribuer une application avec Symfony & Docker *
Distribuer une application avec Symfony & Docker *Distribuer une application avec Symfony & Docker *
Distribuer une application avec Symfony & Docker *
 
Docker en Production (Docker Paris)
Docker en Production (Docker Paris)Docker en Production (Docker Paris)
Docker en Production (Docker Paris)
 
DevCon 3 : Containérisation d’applications
DevCon 3 : Containérisation d’applicationsDevCon 3 : Containérisation d’applications
DevCon 3 : Containérisation d’applications
 
Docker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à DockerDocker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à Docker
 
Docker - YaJUG
Docker  - YaJUGDocker  - YaJUG
Docker - YaJUG
 
Gdg lille-intro-to-kubernetes
Gdg lille-intro-to-kubernetesGdg lille-intro-to-kubernetes
Gdg lille-intro-to-kubernetes
 

Similar to Comment remplacer cygwin par docker

docker-workshop-by-rbk.pdf jhuhiuguigugyug
docker-workshop-by-rbk.pdf jhuhiuguigugyugdocker-workshop-by-rbk.pdf jhuhiuguigugyug
docker-workshop-by-rbk.pdf jhuhiuguigugyugamine17157
 
Docker nice meetup #1 construire, déployer et exécuter vos applications, ...
Docker nice meetup #1   construire, déployer et exécuter vos applications, ...Docker nice meetup #1   construire, déployer et exécuter vos applications, ...
Docker nice meetup #1 construire, déployer et exécuter vos applications, ...adri1s
 
A la découverte de docker
A la découverte de dockerA la découverte de docker
A la découverte de dockerjean pasqualini
 
Docker, mais qu’est-ce que c’est ?
Docker, mais qu’est-ce que c’est ?Docker, mais qu’est-ce que c’est ?
Docker, mais qu’est-ce que c’est ?Julien Maitrehenry
 
Midi technique - présentation docker
Midi technique - présentation dockerMidi technique - présentation docker
Midi technique - présentation dockerOlivier Eeckhoutte
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinLudovic Piot
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide
 
Tadx - Présentation Conteneurisation
Tadx -  Présentation ConteneurisationTadx -  Présentation Conteneurisation
Tadx - Présentation ConteneurisationTADx
 
Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...
Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...
Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...Aurelien Navarre
 
Docker - un outil pour faciliter le développement et le déploiement informatique
Docker - un outil pour faciliter le développement et le déploiement informatiqueDocker - un outil pour faciliter le développement et le déploiement informatique
Docker - un outil pour faciliter le développement et le déploiement informatiquesdenier
 
Geek Time Mars 2017 : Workshop Docker
Geek Time Mars 2017 : Workshop DockerGeek Time Mars 2017 : Workshop Docker
Geek Time Mars 2017 : Workshop DockerNizar GARRACHE
 
Docker, ça mange quoi au printemps
Docker, ça mange quoi au printempsDocker, ça mange quoi au printemps
Docker, ça mange quoi au printempsJulien Maitrehenry
 
Julien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printempsJulien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printempsWeb à Québec
 
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...TelecomValley
 
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...Introduction à Docker et utilisation en production /Digital apéro Besançon [1...
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...Silicon Comté
 
DevOps avec Ansible et Docker
DevOps avec Ansible et DockerDevOps avec Ansible et Docker
DevOps avec Ansible et DockerStephane Manciot
 
formation_dockerhscv jh sjsjx jhxavcjhvdcjhvajhsdvc
formation_dockerhscv jh   sjsjx jhxavcjhvdcjhvajhsdvcformation_dockerhscv jh   sjsjx jhxavcjhvdcjhvajhsdvc
formation_dockerhscv jh sjsjx jhxavcjhvdcjhvajhsdvchichamelhirch
 

Similar to Comment remplacer cygwin par docker (20)

docker-workshop-by-rbk.pdf jhuhiuguigugyug
docker-workshop-by-rbk.pdf jhuhiuguigugyugdocker-workshop-by-rbk.pdf jhuhiuguigugyug
docker-workshop-by-rbk.pdf jhuhiuguigugyug
 
Docker nice meetup #1 construire, déployer et exécuter vos applications, ...
Docker nice meetup #1   construire, déployer et exécuter vos applications, ...Docker nice meetup #1   construire, déployer et exécuter vos applications, ...
Docker nice meetup #1 construire, déployer et exécuter vos applications, ...
 
A la découverte de docker
A la découverte de dockerA la découverte de docker
A la découverte de docker
 
Docker, mais qu’est-ce que c’est ?
Docker, mais qu’est-ce que c’est ?Docker, mais qu’est-ce que c’est ?
Docker, mais qu’est-ce que c’est ?
 
Midi technique - présentation docker
Midi technique - présentation dockerMidi technique - présentation docker
Midi technique - présentation docker
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
 
Tadx - Présentation Conteneurisation
Tadx -  Présentation ConteneurisationTadx -  Présentation Conteneurisation
Tadx - Présentation Conteneurisation
 
Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...
Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...
Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...
 
Docker - un outil pour faciliter le développement et le déploiement informatique
Docker - un outil pour faciliter le développement et le déploiement informatiqueDocker - un outil pour faciliter le développement et le déploiement informatique
Docker - un outil pour faciliter le développement et le déploiement informatique
 
Geek Time Mars 2017 : Workshop Docker
Geek Time Mars 2017 : Workshop DockerGeek Time Mars 2017 : Workshop Docker
Geek Time Mars 2017 : Workshop Docker
 
Prise en main de Docker
Prise en main de DockerPrise en main de Docker
Prise en main de Docker
 
What is Docker
What is Docker What is Docker
What is Docker
 
Docker, ça mange quoi au printemps
Docker, ça mange quoi au printempsDocker, ça mange quoi au printemps
Docker, ça mange quoi au printemps
 
Julien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printempsJulien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printemps
 
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
 
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...Introduction à Docker et utilisation en production /Digital apéro Besançon [1...
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...
 
DevOps avec Ansible et Docker
DevOps avec Ansible et DockerDevOps avec Ansible et Docker
DevOps avec Ansible et Docker
 
formation_dockerhscv jh sjsjx jhxavcjhvdcjhvajhsdvc
formation_dockerhscv jh   sjsjx jhxavcjhvdcjhvajhsdvcformation_dockerhscv jh   sjsjx jhxavcjhvdcjhvajhsdvc
formation_dockerhscv jh sjsjx jhxavcjhvdcjhvajhsdvc
 
Jenkins Workflow
Jenkins WorkflowJenkins Workflow
Jenkins Workflow
 

Comment remplacer cygwin par docker

  • 1. Comment remplacer cygwin par Docker AUTEURS : NICOLASTRAUWAEN & MAXENCEADNOT
  • 2. Qui est ikoula ? Création : 1998 8 000 OS en production Effectif : 47 employés 5 000 serveurs physiques 2 datacenters en France et présence sur 3 continents
  • 4. Admin système linux sous Windows Ou merci cygwin
  • 5.  Un environnement linux émulé en local  Une installation simple  Sélection de paquets (attention aux dépendances)  La plupart des commandes linux sont portées  Certaines doivent être installées à part (ex: dig)  Ajout ou mise à jour : re-setup Qu’est-ce que cygwin
  • 7. Remplacer cygwin par docker Pourquoi réinventer la roue ?
  • 8.  Pour le défi  Rester dans l’environnement d’origine des commandes linux  Garder un poste Windows « clean »  Faire cohabiter différentes versions d’un même outil sans se soucier des conflits
  • 10.  Docker Machine for running docker-machine commands  Docker Engine for running the docker commands  Docker Compose for running the docker-compose commands  Kitematic, the Docker GUI  a shell preconfigured for a Docker command-line environment Docker toolbox
  • 11. Connecter sa console au docker engine MINGW64 ou PowerShell ?
  • 12. Console par défaut de Docker toolbox  MINGW64  Connectée au docker engine  Console MS-DOS like peu confortable
  • 13. Console PowerShell  Console avancée de Windows  Socle des scripts Windows  Une commande pour se connecter au Docker Engine
  • 15.  La console PowerShell – pour rester dans le natif  Un script d’initialisation (env.psm1) pour  Connecter la console au Docker Engine  Charger les définitions des commandes – pour rendre l’appel aussi natif que sous linux  Un script .ps1 par commande  Des Dockerfiles  Si une image n’est pas présente dans le Docker Hub : construction au premier appel Quelques scripts pour un usage transparent
  • 17. # Run drill in a container # Build if needed if (!(docker images | Select-String -Pattern ikoula/drill)) { docker build -t ikoula/drill -f DockerfilesdrillDockerfile . echo `n } docker run --rm -it ikoula/drill $args Un script PowerShell ex: DRILL.PS1 FROM alpine RUN apk update && apk add drill && rm -rf /var/cache/apk/* ENTRYPOINT ["drill"] Un Dockerfile correspondant
  • 22.  Ajouter d’autres outils : Ansible ; tmux ; etc.  Prendre en charge les fichiers de configuration existants  Charger la docker machine de son choix sans avoir à modifier le fichier env.psm1  Si une commande n’existe pas, tenter de la créer à la volée  Faire l’équivalent sous linux (utile pour coreOS, rancherOS)  Windows containers Axes d’évolution
  • 23.  https://docs.docker.com/engine/installation/windows/  https://github.com/trotro/dockerized-apps  https://www.ikoula-blog.com  https://fr.ikoula.wiki/  https://msdn.microsoft.com/en- us/virtualization/windowscontainers/quick_start/manage_docker Ressources
  • 24. Rejoignez-nous ! R & D Reims (51) Créatifs et passionnés par l’innovation, intégrez la R&D ! Commerciaux Boulogne-Billancourt (92) Conseiller et imaginer des solutions pour répondre à un besoin vous motive ? Rejoignez nos équipes commerciales et avant-vente Exploitation Reims (51) Attirés par l’accompagnement utilisateur et l’administration système, le support est fait pour vous. D’autres compétences ? N’hésitez pas à nous proposer votre candidature spontanée ! jobs@ikoula.com https://www.ikoula.com/fr/emploi
  • 25. @ikoula ou @ikoula_EN Ikoula Hosting Services Ikoula Ikoula Gardez le contact ! AUTEURS : NICOLAS TRAUWAEN & MAXENCE ADNOT