Slides de l'introduction à Docker présentée par Thibaut Marmin et Antoine Boudot lors du premier Docker Tours Meetup (@DockerTours).
Présentation en trois parties :
- Introduction Docker (classique)
- Cas pratique en DEV
- Cas pratique en PROD
http://www.meetup.com/fr/Docker-Tours
2. Programme
Introduction à Docker & cas pratique
par Antoine Boudot et Thibaut Marmin (~3x20mn)
Du dev à la prod en passant par Jenkins
par Benjamin Cousin et Cédric Gatay (~30mn)
Pizzas / Bières
offertes par le groupe Cyrès
3. À propos...
Thibaut Marmin
@thibmarmin
Ing. Développeur chez Ingensi
Elasticsearch / Docker / AngularJS
Organisateur Docker Tours Meetup
Antoine Boudot
@AntoineBoudot
Ing. Développeur chez Ingensi
Ansible / Docker / Hadoop
Co-organisateur Docker Tours Meetup
5. Qui devrait s’y intéresser ?
Devs
tous les langages
tous les OS
projet cible linux
Ops
la plupart des distributions
Linux1
et cloud providers
toutes les machines
(physiques / VMs)
1
https://docs.docker.com/installation/
plus rapide
plus agile
= bénéfices !
19. Lister les containers
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f9148ffb024e centos:latest "/bin/bash -c 'while 9 seconds ago Up 8 seconds hello
e2ccef3bcc5a elasticsearch:latest "/docker-entrypoint. 5 weeks ago Up 2 seconds 9200... elastic
$
20. Contrôller les containers
$ JOB=$(docker run -d [...]) # Start a new container
$ docker stop $JOB # Stop the container
$ docker start $JOB # Start the container
$ docker restart $JOB # Restart the container
$ docker kill $JOB # SIGKILL a container
$ docker rm $JOB # Remove a container
21. Créer une image
$ docker commit -m "Say Hello" -a "Kate Smith" 0b2616b0e5a8 user/centos:v2
4f177bd27a9ff0f6dc2a830403925b5360bfe0b93d476f7fc3231110e7f71b1c
$ docker build -t user/centos:v2 .
pull -> commit
build
Depuis une image existante, après avoir exécuté des commandes
Depuis un Dockerfile, basé sur une image existante
$ cat helloFromScratch.tgz | docker import - hello:new
import
From scratch
22. Mais encore...
Binding de ports
(expose / publish)
Points de montage
(volume)
Connecter les containers
(link)
Variables d’environnement
. . .