Last corrections
This commit is contained in:
parent
dab19c6462
commit
c04307c5bc
9 changed files with 34 additions and 47 deletions
|
@ -4,7 +4,7 @@ PANDOCOPTS = --latex-engine=xelatex \
|
|||
--normalize \
|
||||
--number-sections \
|
||||
--smart \
|
||||
-M lang=frenchb \
|
||||
-M lang=french \
|
||||
-M fontsize=12pt \
|
||||
-M papersize=a4paper \
|
||||
-M mainfont="Linux Libertine O" \
|
||||
|
|
|
@ -7,10 +7,11 @@ Au fur et à mesure de vos tests, la taille utilisée par les données de Docker
|
|||
peut devenir conséquente et son interface peut commencer à déborder
|
||||
d'informations dépréciées.
|
||||
|
||||
Dans la mesure du possible, Docker essaie de ne pas encombrer inutilement votre
|
||||
Dans la mesure du possible, Docker essai de ne pas encombrer inutilement votre
|
||||
disque dur avec les vieilles images qui ne sont plus utilisées. Il ne va
|
||||
cependant jamais supprimer une image encore lié à un conteneur, ni les
|
||||
conteneurs qui n'auront pas été démarrés avec `--rm`.
|
||||
cependant jamais supprimer une image encore liée à un conteneur ; il ne
|
||||
supprimera pas non plus les conteneurs qui n'auront pas été démarrés avec
|
||||
`--rm`.
|
||||
|
||||
## Conteneurs
|
||||
|
||||
|
|
|
@ -128,7 +128,7 @@ utilisez la commande `docker logs`.
|
|||
|
||||
## D'autres instructions ?
|
||||
|
||||
Consultez <https://docs.docker.com/reference/builder/> pour la liste complète
|
||||
Consultez <https://docs.docker.com/engine/reference/builder/> pour la liste complète
|
||||
des instructions reconnues.
|
||||
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ comme indiqué dans le message affiché en retour :
|
|||
|
||||
D'abord, le daemon va rechercher s'il possède localement l'image
|
||||
*hello-world*. Si ce n'est pas le cas, il va aller la récupérer sur
|
||||
<hub.docker.com>. Ce site met à disposition un grand nombre d'images : des
|
||||
`hub.docker.com`. Ce site met à disposition un grand nombre d'images : des
|
||||
systèmes de base comme Ubuntu, Debian, Centos, etc. jusqu'à des conteneurs
|
||||
prêts à l'emploi : le serveur web nginx, la base de données MySQL, un serveur
|
||||
node.js, etc.
|
||||
|
@ -43,8 +43,8 @@ docker images
|
|||
|
||||
Nous devrions constater la présence de deux images « Ubuntu », ayant un *TAG*
|
||||
différent. Souvent, il existe plusieurs versions d'une même image. Pour Ubuntu
|
||||
par exemple, nous avons la possibilité de lancer la version `vivid`, `trusty`
|
||||
ou `precise`.
|
||||
par exemple, nous avons la possibilité de lancer la version `precise`, `trusty`,
|
||||
`xenial` ou `yakkety`.
|
||||
|
||||
Chaque image est identifiable par son *Image ID* unique ; les noms d'images
|
||||
ainsi que leurs tags sont, comme les tags Git, une manière humainement plus
|
||||
|
@ -76,7 +76,7 @@ transféré dans le conteneur.
|
|||
## Modifier un conteneur
|
||||
|
||||
À chaque fois que nous lançons un `run`, un nouveau conteneur est créé à partir
|
||||
de l'image que l'on a précisé (via un mécanisme de Copy-On-Write, c'est donc
|
||||
de l'image que l'on a précisé (via un mécanisme de *Copy-On-Write*, c'est donc
|
||||
très rapide et ne consomme pas beaucoup d'espace disque). Cela signifie que
|
||||
lorsque nous exécutons une commande modifiant les fichiers d'un conteneur, cela
|
||||
ne modifie pas l'image de base, mais crée une nouvelle image. Que nous pouvons
|
||||
|
|
|
@ -37,7 +37,8 @@ a été nommé `docker.io`.
|
|||
|
||||
Si dans un environnement de production, on préférera sans doute utiliser une
|
||||
version déjà bien éprouvée, pour ce cours, nous allons avoir besoin de la
|
||||
dernière version disponible :
|
||||
dernière version disponible. Référez-vous à la documentation officielle
|
||||
correspondant à votre distribution :
|
||||
|
||||
<https://docs.docker.com/engine/installation/linux/>
|
||||
|
||||
|
|
|
@ -10,8 +10,8 @@ Pour automatiser le partage d'informations sur les IP et ports exposés, la
|
|||
commande `run` possède l'option `--link` qui permet de définir dans les
|
||||
variables d'environnement du conteneur que l'on va lancer.
|
||||
|
||||
Le détail des variables ajoutées dans cette situation est disponible à
|
||||
<https://docs.docker.com/userguide/dockerlinks/#environment-variables>.
|
||||
Le détail des variables ajoutées dans cette situation est disponible dans
|
||||
[la documentation de Docker](https://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/#environment-variables).
|
||||
|
||||
On utilise généralement cette liaison pour fournir au conteneur hébergeant un
|
||||
site web dynamique l'IP et le port où trouver la base de données :
|
||||
|
@ -33,4 +33,4 @@ exemple), on a simplement à redémarrer l'ambassadeur plutôt que le conteneur
|
|||
principal.
|
||||
|
||||
La documentation officielle pour ce modèle est disponible à
|
||||
<https://docs.docker.com/articles/ambassador_pattern_linking/>.
|
||||
<https://docs.docker.com/engine/admin/ambassador_pattern_linking/>.
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
\newpage
|
||||
|
||||
Sujet à rendre
|
||||
==============
|
||||
Projet et rendu
|
||||
===============
|
||||
|
||||
## Projet
|
||||
## Sujet
|
||||
|
||||
Écrivez un `Dockerfile` pour conteneriser un client netsoul.
|
||||
|
||||
|
@ -18,8 +18,10 @@ docker run -e NETSOUL_LOGIN="login_x" -e PASSSOCKS="xnigol42" netsoul
|
|||
|
||||
Passer la configuration d'un conteneur dans des variables d'environnement est
|
||||
une méthode couramment utilisée. Ces variables sont récupérées et traitées par
|
||||
le script d'ENTRYPOINT. Ce qui permet d'utiliser la ligne de commande pour
|
||||
d'autres choses.
|
||||
le script
|
||||
d'[ENTRYPOINT](https://docs.docker.com/engine/reference/builder/#/entrypoint). Ce
|
||||
qui permet de n'utiliser la ligne de commande que pour des indiquer le
|
||||
programme à lancer et ses arguments.
|
||||
|
||||
|
||||
## Modalité de rendu
|
||||
|
|
|
@ -11,17 +11,14 @@ Durant ce premier TP, nous allons apprendre à utiliser Docker !
|
|||
Tous les éléments de ce TP (exercices et questions) sont à rendre à
|
||||
<virli@nemunai.re> au plus tard le jeudi 15 septembre 2016 à 8 h 42. Consultez la
|
||||
dernière section de chaque partie pour plus d'information sur les éléments à
|
||||
rendre. Vous pouvez placer les réponses aux questions dans le corps du courriel
|
||||
ou dans un fichier joint.
|
||||
rendre.
|
||||
|
||||
En tant que personnes sensibilisées à la sécurité des échanges
|
||||
électroniques, vous devrez m'envoyer vos rendus signés avec votre clef
|
||||
PGP. Pensez à
|
||||
[me](http://pgp.mit.edu/pks/lookup?op=vindex&search=0x842807A84573CC96)
|
||||
faire signer votre clef et n'hésitez pas à
|
||||
[faire signer votre clef](http://www.meetup.com/fr/Paris-certification-de-cles-PGP-et-CAcert/).
|
||||
Vous pouvez utiliser l'adresse <signcheck@nemunai.re> pour savoir si
|
||||
vous vous y prenez correctement.
|
||||
[faire signer la votre](http://www.meetup.com/fr/Paris-certification-de-cles-PGP-et-CAcert/).
|
||||
|
||||
\hypersetup{linkcolor=black}
|
||||
\tableofcontents
|
||||
|
|
|
@ -9,11 +9,11 @@ conteneurs.
|
|||
Docker est composé d'un daemon lancé au démarrage de votre machine, avec lequel
|
||||
vous interagissez via un client (le programme `docker`). La communication entre
|
||||
le daemon et le client s'effectuant au travers d'une socket, le client peut ne
|
||||
pas être forcément sur la machine qui exécutera effectivement les conteneurs.
|
||||
pas être sur la même machine qui exécutera effectivement les conteneurs.
|
||||
|
||||
C'est ce qu'il se passe lorsque vous utilisez Docker4Windows et Docker4Mac :
|
||||
une machine virtuelle Linux est lancé parallèlement à votre système et chaque
|
||||
commande `docker` que vous tapez est passé au deamon dans la machine virtuelle.
|
||||
C'est ce qu'il se passe lorsqu'on utilise *Docker4Windows* ou *Docker4Mac* :
|
||||
une machine virtuelle Linux est lancé parallèlement au système de base et
|
||||
chaque commande `docker` tappée est passée au deamon dans la machine virtuelle.
|
||||
|
||||
|
||||
## `runc` et `containerd`
|
||||
|
@ -23,8 +23,8 @@ La notion de conteneurs est maintenant normalisées par
|
|||
|
||||
Docker lance des conteneurs respectant cette norme grâce au programme `runc`.
|
||||
|
||||
Toute la gestion de l'exécution du conteneur est délégué au programme
|
||||
`containerd`, également issue de l'initiative. C'est lui aussi un daemon (géré
|
||||
Toute la gestion de l'exécution du conteneur est déléguée au programme
|
||||
`containerd`, également issu de l'initiative. Lui aussi est un daemon (géré
|
||||
par Docker), dont le but est de monitorer les conteneurs lancés (pour les
|
||||
relancer en cas de crash par exemple) ou encore de récupérer les logs de chaque
|
||||
conteneur.
|
||||
|
@ -54,31 +54,17 @@ ajoutée au dessus de l'image. Cette couche est propre au conteneur et est
|
|||
temporaire : l'image n'est pas modifié par l'exécution d'un conteneur.
|
||||
|
||||
Chaque conteneur s'exécute dans un environnement restreint et distinct de
|
||||
l'environnement principal où vous avez votre bureau. Par exemple, dans cet
|
||||
environnement, vous ne pouvez pas voir les processus qui n'y sont pas.
|
||||
l'environnement principal (où vous avez votre bureau). Par exemple, dans cet
|
||||
environnement, vous ne pouvez pas voir les processus qui sont situé en dehors,
|
||||
ni accéder aux fichiers extérieurs.
|
||||
|
||||
|
||||
## Les registres Docker (*Docker registries*)
|
||||
|
||||
Les registres sont des plates-formes de stockage, publiques ou privées,
|
||||
contenant des images. Ils permettent de récupérer des images, mais également
|
||||
d'en réceptionner.
|
||||
d'en envoyer.
|
||||
|
||||
Le registre utilisé de base est le [Docker Hub](https://hub.docker.com/) : il
|
||||
contient à la fois des images officielles (ubuntu, debian, nginx, ...) et des
|
||||
images crées par des utilisateurs.
|
||||
|
||||
|
||||
## Outils annexes
|
||||
|
||||
En plus du Docker-engine, le daemon et client que nous allons utiliser
|
||||
aujourd'hui, Docker développe également :
|
||||
|
||||
* **Docker-machine :** qui permet d'installer et configurer le daemon
|
||||
rapidement sur plusieurs machines (afin de les utiliser au sein d'un cluster) ;
|
||||
|
||||
* **Docker-swarm :** désormais intégré à Docker (depuis la version 1.12), cela
|
||||
permet de gérer un cluster de machine et de faire de l'orchestration ;
|
||||
|
||||
* **Docker-compose :** qui permet de lancer un ensemble de conteneurs dépend
|
||||
les uns des autres (par exemple un serveur web et sa base de données).
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue