Use lang en-US for samples

This commit is contained in:
nemunaire 2017-10-17 08:29:07 +02:00
parent f2f93440a7
commit 13dadd8c59
33 changed files with 318 additions and 0 deletions

View file

@ -10,6 +10,7 @@ allons définir à la racine de notre projet un fichier `docker-compose.yml` qui
contiendra les paramètres d'exécution (et éventuellement les méthodes de
construction).
<div lang="en-US">
```yaml
version: '3'
services:
@ -25,6 +26,7 @@ services:
links:
- influxdb
```
</div>
Ce fichier est un condensé des options que nous passons habituellement au
`docker container run`.
@ -57,15 +59,18 @@ Cette section est le pendant de la commandes `docker volume`.
On déclare les volumes simplement en leur donnant un nom et un driver comme
suit :
<div lang="en-US">
```yaml
volumes:
mysql-data:
driver: local
```
</div>
Pour les utiliser avec un conteneur, on référence le nom ainsi que
l'emplacement à partager :
<div lang="en-US">
```yaml
[...]
mysql:
@ -73,6 +78,7 @@ l'emplacement à partager :
volumes:
- mysql-data:/var/lib/mysql
```
</div>
### `network`
@ -86,11 +92,13 @@ possible !
De la même manière que pour les `volumes`, cette section déclare les réseaux
qui pourront être utilisés par les `services`. On pourrait donc avoir :
<div lang="en-US">
```yaml
networks:
knotdns-slave-net:
driver: bridge
```
</div>
#### Driver `host`
@ -136,9 +144,11 @@ listés dans le fichier.
Une fois le build terminé, nous pouvons lancer la commande suivante et admirer
le résultat :
<div lang="en-US">
```shell
docker-compose up
```
</div>
Encore une fois, testez la bonne connexion entre chronograf (accessible sur
<http://localhost:8888>) et influxdb.

View file

@ -42,9 +42,11 @@ Pour créer une nouvelle machine, nous allons utiliser la commande
donner à cette machine (les machines ne sont pas considérées comme jetables,
leur nom vous permettra par exemple de relancer une machine plus tard) :
<div lang="en-US">
```shell
docker-machine create --driver virtualbox echinoidea
```
</div>
Consultez la section suivante, réservée aux gens qui ne peuvent pas passer par
`docker-machine` si vous souhaitez avoir plus d'information sur ce que fait
@ -66,6 +68,7 @@ pouvait ne pas se trouver sur la même machine que le client `docker`. Eh bien
avec `docker-machine` cela prend tout son sens, car vous pouvez très facilement
changer de daamon/machine avec une simple commande :
<div lang="en-US">
```shell
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS
@ -75,6 +78,7 @@ CONTAINER ID IMAGE COMMAND CREATED
a814293b9f45 armbuild/busybox "/bin/sh" 18 seconds ago Up 10 minutes
0caddeed5037 armbuild/alpine "/bin/sh" 2 weeks ago Created
```
</div>
On remarque que le client Docker est influencé par l'exécution de notre
commande `docker-machine env`. En effet, cette commande va modifier
@ -124,19 +128,23 @@ virtuelles. Néanmoins, cela ne coûte rien de voir les procédures mise en œuv
Commençons par voir sur quel port le daemon `dockerd` de notre machine
virtuelle écoute :
<div lang="en-US">
```shell
(virt1) 42sh$ netstat -tpln | grep dockerd
Proto Recv-Q Send-Q Local Address Foreign Address PID/Program name
tcp 0 0 :::2376 :::* 980/dockerd
```
</div>
Essayons de renseigner simplement cette configuration à notre client Docker :
<div lang="en-US">
```shell
(main) 42sh$ docker -H tcp://$VM1_IP:2376/ info
Get http://$VM1_IP:2376/v1.32/info: net/http: HTTP/1.x transport connection broken: malformed HTTP response "\x15\x03\x01\x00\x02\x02".
* Are you trying to connect to a TLS-enabled daemon without TLS?
```
</div>
En effet, Docker met tout en œuvre pour rendre compliqué l'utilisation
non-sécurisée de la plate-forme. Mais ils font également en sorte que la
@ -152,6 +160,7 @@ connexion TLS classique.
Tout le nécessaire est déjà configuré au sein de `boot2docker`, pour nos tests,
nous n'avons qu'à recopier la clef et les certificats en place.
<div lang="en-US">
```shell
(main) 42sh$ mkdir remote/virt1
(main) 42sh$ scp "docker@$VM1_IP:.docker/*" remote/virt1
@ -159,11 +168,14 @@ ca.pem
cert.pem
key.pem
```
</div>
Tentons maintenant de nous connecter au daemon distant en utilisant ces éléments :
<div lang="en-US">
```shell
42sh$ DOCKER_CERT_PATH=remote/virt1/ docker -H tcp://$VM1_IP:2376/ --tlsverify info
```
</div>
Vous pouvez effectuer la même opération pour la seconde VM.

View file

@ -24,22 +24,27 @@ Afin d'interagir avec les données, InfluxDB expose une
sur le port 8086. Pour éviter d'avoir plus de configuration à réaliser, nous
allons tâcher d'utiliser ce même port pour tester localement :
<div lang="en-US">
```
docker container run -p 8086:8086 -d --name mytsdb influxdb
```
</div>
Comme il s'agit d'une API REST, nous pouvons vérifier le bon fonctionnement de
notre base de données en appelant :
<div lang="en-US">
```
42sh$ curl -f http://localhost:8086/ping
42sh$ echo $?
0
```
</div>
Si votre influxdb répond, vous pouvez vous y connecter en utilisant directement
le client fourni :
<div lang="en-US">
```
42sh$ docker container run --rm -it --link mytsdb:influxdb \
--entrypoint "/usr/bin/influx" influxdb -host influxdb
@ -52,6 +57,7 @@ name: databases
name
_internal
```
</div>
Si vous aussi vous voyez la table `_internal`, bravo ! vous pouvez passer à la
suite.
@ -60,9 +66,11 @@ Notez que comme nous avons lancé le conteneur en mode détaché (option `-d`),
nous ne voyons pas les logs qui sont écrits par le daemon. Pour les voir, il
faut utiliser la commande `docker container logs` :
<div lang="en-US">
```
docker container logs mytsdb
```
</div>
\hspace{2em}**Exercice :** Ajoutez à la ligne de commande de lancement du
@ -76,17 +84,21 @@ d'influxDB si nous devions redémarrer le conteneur.
Tentons maintenant de remplir notre base de données avec les métriques du
système. Pour cela, on commence par télécharger *Telegraf* :
<div lang="en-US">
```shell
curl https://dl.influxdata.com/telegraf/releases/telegraf-1.4.2-static_linux_amd64.tar.gz | \
tar xzv -C /tmp
```
</div>
Puis, lançons *Telegraf* :
<div lang="en-US">
```shell
cd /tmp/telegraf
./telegraf --config telegraf.conf
```
</div>
**Remarque :** La configuration par défaut va collecter les données de la
machine locale et les envoyer sur le serveur situé à
@ -96,6 +108,7 @@ sorte de redirigé le port de notre conteneur sur notre machine locale (option
Et observons ensuite :
<div lang="en-US">
```shell
42sh$ docker container run --rm -it --link mytsdb:influxdb \
--entrypoint "/usr/bin/influx" influxdb -host influxdb
@ -125,6 +138,7 @@ processes
swap
system
```
</div>
La nouvelle base a donc bien été créé et tant que nous laissons *Telegraf*
lancé, celui-ci va régulièrement envoyer des métriques de cette machine.

View file

@ -30,6 +30,7 @@ placer à la racine de votre rendu.
Voici une arborescence type:
<div lang="en-US">
```
login_x-TP2/influxdb
login_x-TP2/influxdb/Dockerfile
@ -42,3 +43,4 @@ login_x-TP2/fic-server/Dockerfile-admin
login_x-TP2/fic-server/Dockerfile-backend
login_x-TP2/fic-server/Dockerfile-frontend
```
</div>

View file

@ -31,11 +31,13 @@ L'équipe en charge de `docker-machine` met à disposition un exécutable compil
pour bon nombres d'environnements. Nous pouvons l'installer en suivant la
procédure suivante :
<div lang="en-US">
```shell
curl -L https://github.com/docker/machine/releases/download/v0.12.2/docker-machine-Linux-x86_64 \
> /usr/bin/docker-machine
chmod +x /usr/bin/docker-machine
```
</div>
Si vous êtes dans un environnement différent, jetez un œil à
[la documentation d'installation](https://docs.docker.com/machine/install-machine/).
@ -60,10 +62,12 @@ n'aurez qu'à suivre les instructions du
Comme avec Docker, nous pouvons vérifier le bon fonctionnement de
`docker-machine` en exécutant la commande :
<div lang="en-US">
```
42sh$ docker-machine version
docker-machine version 0.12.2, build 9371605
```
</div>
## `docker-compose`
@ -88,11 +92,13 @@ fonctionnera avec la version de Docker qu'ils fournissent.
L'équipe en charge de Docker compose met à disposition un exécutable contenant
tous les scripts. Nous pouvons l'installer en suivant la procédure suivante :
<div lang="en-US">
```shell
curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-Linux-x86_64 \
> /usr/bin/docker-compose
chmod +x /usr/bin/docker-compose
```
</div>
### `pip`
@ -106,10 +112,12 @@ votre version de Docker.
Comme avec Docker, nous pouvons vérifier le bon fonctionnement de
`docker-compose` en exécutant la commande :
<div lang="en-US">
```
42sh$ docker-compose --version
docker-compose version: 1.16.1
```
</div>
Si vous obtenez une réponse similaire, c'est que vous êtes prêt à commencer le
TP ! Alors n'attendons pas, partons à l'aventure !