tutorials: improve theme + use pandoc 2
This commit is contained in:
parent
de21be218a
commit
d25af4fdb2
65 changed files with 1281 additions and 1292 deletions
|
@ -1,19 +1,6 @@
|
|||
include ../pandoc-opts.mk
|
||||
|
||||
SOURCES = tutorial.md installation.md what.md first.md cleaning.md ex-flask.md volumes.md linking.md rendu.md
|
||||
PANDOCOPTS = --latex-engine=xelatex \
|
||||
--standalone \
|
||||
--normalize \
|
||||
--number-sections \
|
||||
--smart \
|
||||
-M lang=fr-FR \
|
||||
-M fontsize=12pt \
|
||||
-M papersize=a4paper \
|
||||
-M mainfont="Linux Libertine O" \
|
||||
-M monofont="FantasqueSansMono-Regular" \
|
||||
-M sansfont="Linux Biolinum O" \
|
||||
-M colorlinks=true \
|
||||
-M linkcolor="black" \
|
||||
-M urlcolor="[rgb]{0.2,0.6,0.4}" \
|
||||
--include-in-header=../header.tex
|
||||
|
||||
|
||||
all: tutorial.pdf
|
||||
|
|
|
@ -21,10 +21,10 @@ cours d'exécution, arrêtés, ...) avec la commande suivante :
|
|||
|
||||
<div lang="en-US">
|
||||
```
|
||||
42sh$ docker container ls -a
|
||||
CONTAINER ID IMAGE COMMAND CREATED STATUS NAMES
|
||||
552d71619723 hello-world "/hello" 4 days ago Exited (0) 4 days ago dreamy_gates
|
||||
0e8bbff6d500 debian "/bin/bash" 2 weeks ago Exited (0) 2 weeks ago cranky_jones
|
||||
42sh$ docker container ls -a
|
||||
CONTAINER ID IMAGE COMMAND CREATED STATUS NAMES
|
||||
552d71619723 hello-world "/hello" 4 days ago Exited (0) 4 days ago dreamy_gates
|
||||
0e8bbff6d500 debian "/bin/bash" 2 weeks ago Exited (0) 2 weeks ago cranky_jones
|
||||
```
|
||||
</div>
|
||||
|
||||
|
@ -32,16 +32,16 @@ Il y a de fortes chances pour que vous n'ayez plus besoin de ces vieux
|
|||
conteneurs. Pour les supprimer, utilisez la commande :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
docker container rm 0e8bbff6d500 552d71619723
|
||||
```bash
|
||||
docker container rm 0e8bbff6d500 552d71619723
|
||||
```
|
||||
</div>
|
||||
|
||||
ou encore :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
docker container rm cranky_jones dreamy_gates
|
||||
```bash
|
||||
docker container rm cranky_jones dreamy_gates
|
||||
```
|
||||
</div>
|
||||
|
||||
|
@ -62,6 +62,6 @@ une commande `prune` qui supprimera les objets inutilisés.
|
|||
|
||||
## `docker-gc`
|
||||
|
||||
Vous pouvez également utiliser l'image <https://github.com/spotify/docker-gc>
|
||||
pour effectuer le ménage de manière automatique, plus fréquemment. Mais
|
||||
attention à vos données !
|
||||
Vous pouvez également utiliser l'image
|
||||
[https://github.com/spotify/docker-gc](`docker-gc`) pour effectuer le ménage de
|
||||
manière automatique, plus fréquemment. Mais attention à vos données !
|
||||
|
|
|
@ -12,8 +12,8 @@ page : <https://you.p0m.fr/>.
|
|||
Nous pouvons télécharger et lancer le service grâce à :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
docker container run -i nemunaire/youp0m
|
||||
```bash
|
||||
docker container run -i nemunaire/youp0m
|
||||
```
|
||||
</div>
|
||||
|
||||
|
@ -35,8 +35,8 @@ interférer avec son hôte.
|
|||
Nous pouvons rediriger le port avec l'argument <span lang="en-US">`-p dst_host:src_cntr`</span> :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
docker container run -i -p 8080:8080 nemunaire/youp0m
|
||||
```bash
|
||||
docker container run -i -p 8080:8080 nemunaire/youp0m
|
||||
```
|
||||
</div>
|
||||
|
||||
|
@ -46,19 +46,19 @@ Pour le moment, le service ne dispose d'aucune image à afficher, vous pouvez
|
|||
utiliser cette syntaxe pour ajouter une image :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
base64 monimage.jpg | curl --data @- http://localhost:8080/api/images/monimage
|
||||
```bash
|
||||
base64 monimage.jpg | curl --data @- http://localhost:8080/api/images/monimage
|
||||
```
|
||||
</div>
|
||||
|
||||
Si vous n'êtes pas particulièrement inspiré, vous pouvez ajouter ces images :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
wget -O- https://you.p0m.fr/images/lynx4 | base64 | curl --data @- http://localhost:8080/api/images/lynx
|
||||
wget -O- https://you.p0m.fr/images/otters | base64 | curl --data @- http://localhost:8080/api/images/otters
|
||||
wget -O- https://you.p0m.fr/images/DNcrZ6u | base64 | curl --data @- http://localhost:8080/api/images/DNcrZ6u
|
||||
wget -O- https://you.p0m.fr/images/raccoons | base64 | curl --data @- http://localhost:8080/api/images/raccoons
|
||||
```bash
|
||||
wget -O- https://you.p0m.fr/images/lynx4 | base64 | curl --data @- http://localhost:8080/api/images/lynx
|
||||
wget -O- https://you.p0m.fr/images/otters | base64 | curl --data @- http://localhost:8080/api/images/otters
|
||||
wget -O- https://you.p0m.fr/images/DNcrZ6u | base64 | curl --data @- http://localhost:8080/api/images/DNcrZ6u
|
||||
wget -O- https://you.p0m.fr/images/raccoons | base64 | curl --data @- http://localhost:8080/api/images/raccoons
|
||||
```
|
||||
</div>
|
||||
|
||||
|
@ -72,8 +72,8 @@ service ne s'exécutera pas dans notre terminal !
|
|||
On utilise l'option `-d` pour lancer le conteneur en tâche de fond :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
docker container run -d -p 8080:8080 nemunaire/youp0m
|
||||
```bash
|
||||
docker container run -d -p 8080:8080 nemunaire/youp0m
|
||||
```
|
||||
</div>
|
||||
|
||||
|
@ -82,8 +82,8 @@ obtenir avec un `docker container ls`), nous pouvons consulter les logs du
|
|||
service (en fait, les sorties standard et d'erreur) :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
docker container logs 0123456789abcdef
|
||||
```bash
|
||||
docker container logs 0123456789abcdef
|
||||
```
|
||||
</div>
|
||||
|
||||
|
@ -99,8 +99,8 @@ On ne peut pas utiliser le même port sur la machine hôte, mais pour le reste,
|
|||
il s'agit des mêmes options :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
docker container run -d -p 8080:8081 nemunaire/youp0m
|
||||
```bash
|
||||
docker container run -d -p 8080:8081 nemunaire/youp0m
|
||||
```
|
||||
</div>
|
||||
|
||||
|
@ -117,8 +117,8 @@ Lorsque l'on souhaite stopper un conteneur lancé en tâche de fond, on utilise
|
|||
son identifiant dans la commande suivante :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
docker container stop 0123456789abcdef
|
||||
```bash
|
||||
docker container stop 0123456789abcdef
|
||||
```
|
||||
</div>
|
||||
|
||||
|
|
|
@ -4,11 +4,11 @@ Mon premier conteneur
|
|||
=====================
|
||||
|
||||
Afin de tester la bonne marche de notre installation, lançons notre premier
|
||||
conteneur avec la commande :
|
||||
conteneur avec la commande\ :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
docker container run hello-world
|
||||
```bash
|
||||
docker container run hello-world
|
||||
```
|
||||
</div>
|
||||
|
||||
|
@ -26,8 +26,8 @@ Nous pouvons directement utiliser le client pour rechercher une image sur le
|
|||
*Store*, en utilisant la commande `search` :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
docker search mariadb
|
||||
```bash
|
||||
docker search mariadb
|
||||
```
|
||||
</div>
|
||||
|
||||
|
@ -35,8 +35,8 @@ Il est possible de mettre à jour les images locales ou simplement
|
|||
pré-télécharger des images depuis le Store en utilisant la commande `pull` :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
docker image pull ubuntu
|
||||
```bash
|
||||
docker image pull ubuntu
|
||||
```
|
||||
</div>
|
||||
|
||||
|
@ -59,8 +59,8 @@ Par exemple, pour consulter la liste des images dont nous disposons localement
|
|||
nous-même), on utilise la commande `ls` sous le type d'objets `image` :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
docker image ls
|
||||
```bash
|
||||
docker image ls
|
||||
```
|
||||
</div>
|
||||
|
||||
|
@ -88,8 +88,8 @@ lancer dans le conteneur ainsi que ses éventuels arguments. Essayons d'afficher
|
|||
un Hello World :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
docker container run ubuntu /bin/echo "Hello World"
|
||||
```bash
|
||||
docker container run ubuntu /bin/echo "Hello World"
|
||||
```
|
||||
</div>
|
||||
|
||||
|
@ -103,8 +103,8 @@ n'utilisez pas [Alpine Linux](https://www.alpine-linux.org), vous pourriez
|
|||
tenter d'utiliser son gestionnaire de paquet `apk`, via :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
docker container run alpine /sbin/apk stats
|
||||
```bash
|
||||
docker container run alpine /sbin/apk stats
|
||||
```
|
||||
</div>
|
||||
|
||||
|
@ -139,16 +139,16 @@ du `run`. En fait, tout comme `git(1)` et ses sous-commandes, chaque niveau de
|
|||
commande peut prendre des paramètres :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
docker DOCKER_PARAMS container run RUN_OPTS image IMAGE_CMD IMAGE_ARGS ...
|
||||
```bash
|
||||
docker DOCKER_PARAMS container run RUN_OPTS image IMAGE_CMD IMAGE_ARGS ...
|
||||
```
|
||||
</div>
|
||||
|
||||
Par exemple :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
docker -H unix:///var/run/docker.sock container run -it alpine /bin/ash -c "echo foo"
|
||||
```bash
|
||||
docker -H unix:///var/run/docker.sock container run -it alpine /bin/ash -c "echo foo"
|
||||
```
|
||||
</div>
|
||||
|
||||
|
@ -167,10 +167,10 @@ sans quoi `bash` ne se lancera pas en mode interractif[^bashnointer].
|
|||
|
||||
<div lang="en-US">
|
||||
```
|
||||
42sh$ cat cmd
|
||||
echo foo
|
||||
42sh$ cat cmd | docker run -i busybox
|
||||
foo
|
||||
42sh$ cat cmd
|
||||
echo foo
|
||||
42sh$ cat cmd | docker run -i busybox
|
||||
foo
|
||||
```
|
||||
</div>
|
||||
|
||||
|
@ -186,9 +186,9 @@ conteneurs en cours d'exécution :
|
|||
|
||||
<div lang="en-US">
|
||||
```
|
||||
42sh$ docker container ls
|
||||
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
||||
4c39fc049cd1 ubuntu "/bin/bash" 6 minutes ago Up 5 minutes suspicious_galileo
|
||||
42sh$ docker container ls
|
||||
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
||||
4c39fc049cd1 ubuntu "/bin/bash" 6 minutes ago Up 5 minutes suspicious_galileo
|
||||
```
|
||||
</div>
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ Avant de continuer, assurez-vous que votre machine a bien démarré sur un noyau
|
|||
|
||||
<div lang="en-US">
|
||||
```
|
||||
x86_64
|
||||
x86_64
|
||||
```
|
||||
</div>
|
||||
|
||||
|
@ -26,7 +26,7 @@ Assurez-vous également d'avoir un noyau récent, avec la commande `uname -r` :
|
|||
|
||||
<div lang="en-US">
|
||||
```
|
||||
4.18.11-gentoo
|
||||
4.18.11-gentoo
|
||||
```
|
||||
</div>
|
||||
|
||||
|
@ -82,8 +82,8 @@ un bac à sable dans lequel vous pourrez commencer à faire ce TP.
|
|||
Vous devriez maintenant être capable de lancer la commande suivante :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
docker version
|
||||
```bash
|
||||
docker version
|
||||
```
|
||||
</div>
|
||||
|
||||
|
@ -91,24 +91,24 @@ Une sortie similaire au bloc suivant devrait apparaître sur votre écran :
|
|||
|
||||
<div lang="en-US">
|
||||
```
|
||||
Client:
|
||||
Version: 18.06.1-ce
|
||||
API version: 1.38
|
||||
Go version: go1.10.3
|
||||
Git commit: e68fc7a
|
||||
Built: Sun Sep 9 10:14:56 2018
|
||||
OS/Arch: linux/amd64
|
||||
Experimental: false
|
||||
Client:
|
||||
Version: 18.06.1-ce
|
||||
API version: 1.38
|
||||
Go version: go1.10.3
|
||||
Git commit: e68fc7a
|
||||
Built: Sun Sep 9 10:14:56 2018
|
||||
OS/Arch: linux/amd64
|
||||
Experimental: false
|
||||
|
||||
Server:
|
||||
Engine:
|
||||
Version: 18.06.1-ce
|
||||
API version: 1.38 (minimum version 1.12)
|
||||
Go version: go1.10.3
|
||||
Git commit: e68fc7a
|
||||
Built: Sun Sep 9 10:13:21 2018
|
||||
OS/Arch: linux/amd64
|
||||
Experimental: true
|
||||
Server:
|
||||
Engine:
|
||||
Version: 18.06.1-ce
|
||||
API version: 1.38 (minimum version 1.12)
|
||||
Go version: go1.10.3
|
||||
Git commit: e68fc7a
|
||||
Built: Sun Sep 9 10:13:21 2018
|
||||
OS/Arch: linux/amd64
|
||||
Experimental: true
|
||||
```
|
||||
</div>
|
||||
|
||||
|
@ -138,8 +138,8 @@ Si vous avez cette erreur : `dial unix /var/run/docker.sock: no such file or
|
|||
directory.`, le deamon n'est sans doute pas lancé. Lancez-le :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
sudo service docker restart
|
||||
```bash
|
||||
sudo service docker restart
|
||||
```
|
||||
</div>
|
||||
|
||||
|
@ -151,8 +151,8 @@ denied.`, ajoutez votre utilisateur au groupe `docker` et **relancez votre
|
|||
session** :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
sudo gpasswd -a $USER docker
|
||||
```bash
|
||||
sudo gpasswd -a $USER docker
|
||||
```
|
||||
</div>
|
||||
|
||||
|
|
|
@ -43,11 +43,11 @@ leur pilote. Pour consulter la liste de réseaux utilisables, lancez :
|
|||
|
||||
<div lang="en-US">
|
||||
```
|
||||
42sh$ docker network ls
|
||||
NETWORK ID NAME DRIVER SCOPE
|
||||
74cedd3ff385 bridge bridge local
|
||||
d5d907add6e2 host host local
|
||||
16b702ed01a0 none null local
|
||||
42sh$ docker network ls
|
||||
NETWORK ID NAME DRIVER SCOPE
|
||||
74cedd3ff385 bridge bridge local
|
||||
d5d907add6e2 host host local
|
||||
16b702ed01a0 none null local
|
||||
```
|
||||
</div>
|
||||
|
||||
|
@ -78,8 +78,8 @@ La création d'un réseau se fait tout simplement au travers des sous-commandes
|
|||
relatives aux objets Docker `network` :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
docker network create --driver bridge my_fic
|
||||
```bash
|
||||
docker network create --driver bridge my_fic
|
||||
```
|
||||
</div>
|
||||
|
||||
|
@ -88,8 +88,8 @@ C'est ensuite ce nom de réseau que vous passerez à l'option `--network` de vos
|
|||
réseau :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
docker network connect NETWORK CONTAINER
|
||||
```bash
|
||||
docker network connect NETWORK CONTAINER
|
||||
```
|
||||
</div>
|
||||
|
||||
|
@ -98,7 +98,7 @@ mutuellement se découvrir grâce à un système de résolution de nom basé sur
|
|||
nom de conteneur.
|
||||
|
||||
|
||||
## Exercice
|
||||
## Exercice {-}
|
||||
|
||||
À vous maintenant de connecter une instance de `nemunaire/fic-admin` à sa base
|
||||
de données.
|
||||
|
@ -108,8 +108,8 @@ de données avec le nom d'utilisateur et le mot de passe par défaut. Vous les
|
|||
obtiendrez en lisant l'aide :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
docker container run --rm -e MYSQL_HOST="tcp(mysql_cntr_name:3306)" nemunaire/fic-admin -help
|
||||
```bash
|
||||
docker container run --rm -e MYSQL_HOST="tcp(mysql_cntr_name:3306)" nemunaire/fic-admin -help
|
||||
```
|
||||
</div>
|
||||
|
||||
|
@ -126,8 +126,8 @@ utilisant :
|
|||
|
||||
<div lang="en-US">
|
||||
```
|
||||
42sh$ docker container exec -it ficadmin_cntr_name /bin/bash
|
||||
(incntnr)# ping mysql_cntr_name
|
||||
42sh$ docker container exec -it ficadmin_cntr_name /bin/bash
|
||||
(incntnr)# ping mysql_cntr_name
|
||||
```
|
||||
</div>
|
||||
|
||||
|
|
|
@ -38,13 +38,13 @@ a pu voir durant ce premier cours.
|
|||
### Exemple d'exécution
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
42sh$ ./mycloud-run.sh
|
||||
http://localhost:12345/
|
||||
42sh$ #docker kill db
|
||||
42sh$ ./mycloud-run.sh # le script relancera une base de données,
|
||||
# sans avoir perdu les données
|
||||
http://localhost:12345/
|
||||
```bash
|
||||
42sh$ ./mycloud-run.sh
|
||||
http://localhost:12345/
|
||||
42sh$ #docker kill db
|
||||
42sh$ ./mycloud-run.sh # le script relancera une base de données,
|
||||
# sans avoir perdu les données
|
||||
http://localhost:12345/
|
||||
```
|
||||
</div>
|
||||
|
||||
|
@ -73,8 +73,8 @@ Voici une arborescence type:
|
|||
|
||||
<div lang="en-US">
|
||||
```
|
||||
login_x-TP1/
|
||||
login_x-TP1/mycloud-run.sh
|
||||
login_x-TP1/
|
||||
login_x-TP1/mycloud-run.sh
|
||||
```
|
||||
</div>
|
||||
|
||||
|
@ -110,12 +110,12 @@ Si vous recevez un rapport avec l'erreur suivante :
|
|||
|
||||
<div lang="en-US">
|
||||
```
|
||||
[FAIL] Bad signature. Here is the gnupg output:
|
||||
[FAIL] Bad signature. Here is the gnupg output:
|
||||
|
||||
gpg: Signature made Tue Jan 01 16:42:23 2014 CET
|
||||
gpg: using RSA key 842807A84573CC96
|
||||
gpg: requesting key E2CCD99DD37BD32E from hkp server pool.sks-keyservers.net
|
||||
gpg: Can't check signature: No public key
|
||||
gpg: Signature made Tue Jan 01 16:42:23 2014 CET
|
||||
gpg: using RSA key 842807A84573CC96
|
||||
gpg: requesting key E2CCD99DD37BD32E from hkp server pool.sks-keyservers.net
|
||||
gpg: Can't check signature: No public key
|
||||
```
|
||||
</div>
|
||||
|
||||
|
@ -132,7 +132,7 @@ Si vous recevez un rapport avec l'erreur suivante :
|
|||
|
||||
<div lang="en-US">
|
||||
```
|
||||
[FAIL] The username of your key is not explicit, I can't find you.
|
||||
[FAIL] The username of your key is not explicit, I can't find you.
|
||||
```
|
||||
</div>
|
||||
|
||||
|
@ -147,7 +147,7 @@ Si vous recevez un rapport concluant ainsi :
|
|||
|
||||
<div lang="en-US">
|
||||
```
|
||||
After analyzing your e-mail, I've decided to SKIP it.
|
||||
After analyzing your e-mail, I've decided to SKIP it.
|
||||
```
|
||||
</div>
|
||||
|
||||
|
|
|
@ -1,22 +1,23 @@
|
|||
---
|
||||
title: Virtualisation légère -- TP n^o^ 1
|
||||
subtitle: Les bases de Docker
|
||||
author: Pierre-Olivier *Nemunaire* Mercier
|
||||
author: Pierre-Olivier *nemunaire* [Mercier]{.smallcaps}
|
||||
institute: EPITA
|
||||
date: Jeudi 4 octobre 2018
|
||||
abstract: |
|
||||
Durant ce premier TP, nous allons apprendre à utiliser Docker !
|
||||
|
||||
\vspace{1em}
|
||||
|
||||
Le TP se termine par un petit projet à rendre à <virli@nemunai.re>
|
||||
au plus tard le jeudi 18 octobre 2018 à 8 h 42, des questions de
|
||||
cours sont également à compléter avant cette date sur
|
||||
Epitaf. Consultez la dernière partie de ce TP pour les modalités.
|
||||
|
||||
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](https://pgp.mit.edu/pks/lookup?op=vindex&search=0x842807A84573CC96)
|
||||
faire signer votre clef et n'hésitez pas à [faire signer la
|
||||
votre](https://www.meetup.com/fr/Paris-certification-de-cles-PGP-et-CAcert/).
|
||||
...
|
||||
|
||||
Durant ce premier TP, nous allons apprendre à utiliser Docker !
|
||||
|
||||
Le TP se termine par un petit projet à rendre à <virli@nemunai.re> au plus tard
|
||||
le jeudi 18 octobre 2018 à 8 h 42, des questions de cours sont également à
|
||||
compléter avant cette date sur Epitaf. Consultez la dernière partie de ce TP
|
||||
pour les modalités.
|
||||
|
||||
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](https://pgp.mit.edu/pks/lookup?op=vindex&search=0x842807A84573CC96) faire
|
||||
signer votre clef et n'hésitez pas à
|
||||
[faire signer la votre](https://www.meetup.com/fr/Paris-certification-de-cles-PGP-et-CAcert/).
|
||||
|
||||
\tableofcontents
|
||||
|
|
|
@ -28,8 +28,8 @@ le protocole HTTP, mais sans se casser la tête à installer et configurer un
|
|||
serveur web :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
docker container run --rm -p 80:80 -v ~/Downloads:/usr/share/nginx/html:ro -d nginx
|
||||
```bash
|
||||
docker container run --rm -p 80:80 -v ~/Downloads:/usr/share/nginx/html:ro -d nginx
|
||||
```
|
||||
</div>
|
||||
|
||||
|
@ -48,26 +48,26 @@ Comme il s'agit d'un objet, la première chose à faire va être de créer notre
|
|||
volume :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
docker volume create prod_youp0m
|
||||
docker volume create prod_foodp0m
|
||||
```bash
|
||||
docker volume create prod_youp0m
|
||||
docker volume create prod_foodp0m
|
||||
```
|
||||
</div>
|
||||
|
||||
Ensuite, nous pouvons démarrer un conteneur utilisant, par exemple :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
docker container run --mount source=prod_youp0m,target=/srv/images nemunaire/youp0m
|
||||
```bash
|
||||
docker container run --mount source=prod_youp0m,target=/srv/images nemunaire/youp0m
|
||||
```
|
||||
</div>
|
||||
|
||||
On pourra également faire de même avec un conteneur MySQL :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
docker container run --name mydb --mount source=prod_db,target=/var/lib/mysql \
|
||||
-e MYSQL_ROOT_PASSWORD=my-secret-pw mysql
|
||||
```bash
|
||||
docker container run --name mydb --mount source=prod_db,target=/var/lib/mysql \
|
||||
-e MYSQL_ROOT_PASSWORD=my-secret-pw mysql
|
||||
```
|
||||
</div>
|
||||
|
||||
|
@ -78,8 +78,8 @@ Si plus tard, vous souhaitez créer un conteneur chargé de faire des
|
|||
sauvegardes, vous pourriez le lancer comme ceci :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
docker container run -it --volume-from mydb busybox /bin/bash
|
||||
```bash
|
||||
docker container run -it --volume-from mydb busybox /bin/bash
|
||||
```
|
||||
</div>
|
||||
|
||||
|
@ -90,11 +90,11 @@ Lorsque vous n'avez pas besoin de stocker les données et que vous ne désirez
|
|||
pas qu'elles persistent (des données sensibles par exemple) ou si cela peut
|
||||
améliorer les performances de votre conteneur, il est possible de créer des
|
||||
points de montages utilisant le système de fichiers `tmpfs` et donc résidant
|
||||
exclusivement en RAM :
|
||||
exclusivement en RAM\ :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
docker container run --mount type=tmpfs,target=/srv/images nemunaire/youp0m
|
||||
```bash
|
||||
docker container run --mount type=tmpfs,target=/srv/images nemunaire/youp0m
|
||||
```
|
||||
</div>
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue