2020 done

This commit is contained in:
nemunaire 2020-09-14 15:46:13 +02:00
parent fafac06b23
commit a75f4b43b7
25 changed files with 113 additions and 2498 deletions

View file

@ -41,6 +41,7 @@ constater l'existence de notre éditeur favori :
<div lang="en-US">
```bash
docker container run -it my_editor /bin/bash
(in_cntr)# nano
```
</div>
@ -63,9 +64,9 @@ RUN mysql -u root -p toor virli < /db.sql
Cet exemple ne fonctionne pas car le serveur MySQL est bien lancé dans le
premier `RUN`{.dockerfile}, mais il se trouve brûtalement arrêté dès lors que
la commande `service` se termine. En fait, à chaque instruction, Docker réalise
automatiquement un `run` suivi d'un `commit`. Et vous pouvez constater par
vous-même que, en créant l'image `tinysql` à partir d'un simple `apt install
mysql` :
automatiquement l'équivalent un `docker run` suivi d'un `commit`. Et vous
pouvez constater par vous-même que, en créant l'image `tinysql` à partir d'un
simple `apt install mysql` :
<div lang="en-US">
```bash
@ -108,9 +109,9 @@ EXPOSE 80
```
</div>
L'instruction `EXPOSE`{.dockerfile} sera traitée plus tard par le client Docker (équivalent
à l'argument `--expose`). Il s'agit d'une métadonnée qui sera attachée à
l'image (et à toutes ses images filles).
L'instruction `EXPOSE`{.dockerfile} sera traitée plus tard par le client Docker
(équivalent à l'argument `--expose`). Il s'agit d'une métadonnée qui sera
attachée à l'image (et à toutes ses images filles).
En précisant tous les ports qu'exposent une image dans ses métadonnées, ces
ports seront automatiquement exposés en utilisant l'option `-P` du `run` : cela
@ -317,9 +318,9 @@ Pour compiler le projet, vous pouvez utiliser dans votre `Dockerfile`
<div lang="en-US">
```dockerfile
FROM golang:1.11
FROM golang:1.13
COPY . /go/src/git.nemunai.re/youp0m
WORKDIR /go/src/git.nemunai.re/youp0m
RUN go build -v
RUN go build -tags dev -v
```
</div>

View file

@ -6,7 +6,7 @@ Personnalisation du point d'entrée du conteneur
## Point d'entrée basique
Afin de faire bénéficier à nos utilisateurs d'une immersion parfaite, nous
allons faire en sorte que notre image permette d'être utilisée ainsi :
allons faire en sorte que notre image puisse être utilisée ainsi :
<div lang="en-US">
```bash

View file

@ -156,7 +156,7 @@ L'entrypoint peut être utilisé de deux manières différentes :
<div lang="en-US">
```dockerfile
ENTRYPOINT ["nginx"]
CMD ["-g daemon off;"]
CMD ["-g", "daemon", "off;"]
```
</div>
@ -190,7 +190,7 @@ exec "$@"
Les instructions `ENTRYPOINT`{.dockerfile} et `CMD`{.dockerfile} peuvent
prendre deux formes :
- `["cmd", "arg1", "arg2"]` : ici, un simple `exexve` sera effectué avec ces
- `["cmd", "arg1", "arg2"]` : ici, un simple `execve` sera effectué avec ces
arguments. Si d'éventuels variables se trouve dans les arguments, elles ne
seront pas remplacées.
- `cmd arg1 arg2` : ici l'exécution se fera au sein d'un `sh -c`, donc les

View file

@ -25,7 +25,7 @@ apt-get update
</div>
Il peut arriver que des paquets présents dans l'image ne soient pas à
jour. Afin de garder un environnement cohérent, il est recommandé de ne pas
jour. Afin de garder un environnement cohérent, il est recommandé de **ne pas**
utiliser le gestionnaire de paquets pour mettre à jour les paquets présents de
base, mais plutôt de contacter le mainteneur de l'image pour qu'il la mette à
jour.
@ -54,7 +54,14 @@ en remplaçant `CONTAINER` par le nom ou l'identifiant du container qui
doit servir de modèle. `my_nano` est le nom que vous voudrez utiliser
à la place d'`ubuntu`.
Testons sans plus attendre notre nouvelle image :
Cette action va figer la couche la plus haute de systèmes de fichiers, qui
était jusqu'alors en lecture-écriture pour le conteneur ; afin d'en faire la
dernière couche de notre nouvelle image.
![`docker commit`](commit.png)
Testons alors sans plus attendre notre nouvelle image :
<div lang="en-US">
```bash

View file

@ -46,8 +46,8 @@ une attention particulière au suivi des bonnes pratiques d'écriture des
<div lang="en-US">
```
42sh$ docker build -t countdown countdown
42sh$ docker run -d -P countdown
42sh$ docker image build -t countdown countdown
42sh$ docker container run -d -P countdown
42sh$ firefox http://localhost:32198/42:23
```
</div>
@ -69,7 +69,7 @@ envoyé à une autre adresse et/ou non signé et/ou reçu après la correction n
sera pas pris en compte.
Par ailleurs, n'oubliez pas de répondre à
[l'évaluation du cours](https://www.epitaf.fr/moodle/mod/quiz/view.php?id=215).
[l'évaluation du cours](https://www.epitaf.fr/moodle/mod/quiz/view.php?id=307).
Tarball

View file

@ -3,7 +3,7 @@ title: Virtualisation légère -- TP n^o^ 2.1
subtitle: Construire des images Docker
author: Pierre-Olivier *nemunaire* [Mercier]{.smallcaps}
institute: EPITA
date: Jeudi 18 octobre 2018
date: Mercredi 16 octobre 2019
abstract: |
Durant ce deuxième TP, nous allons voir comment créer nos propres
images !
@ -11,7 +11,7 @@ abstract: |
\vspace{1em}
Tous les éléments de ce TP (exercices et projet) sont à rendre à
<virli@nemunai.re> au plus tard le mercredi 24 octobre 2018 à 0
<virli@nemunai.re> au plus tard le mercredi 23 octobre 2019 à 13
h 42. Consultez la dernière section de chaque partie pour plus
d'information sur les éléments à rendre.