tuto 1: done
This commit is contained in:
parent
7a1d5d9981
commit
13bd205b1b
6 changed files with 152 additions and 29 deletions
|
|
@ -3,25 +3,34 @@
|
|||
Projet et rendu
|
||||
===============
|
||||
|
||||
## Sujet
|
||||
## Projet
|
||||
|
||||
Écrivez un `Dockerfile` pour conteneriser un client netsoul.
|
||||
Écrivez un script `mycloud-run.sh` pour automatiser le lancement de
|
||||
votre instance personnelle d'`owncloud`. Une attention particulière
|
||||
devra être apportée à la manière dont vous gérerez le rappel du script
|
||||
pour éventuellement relancer un conteneur qui se serait arrêté
|
||||
(évidemment sans perdre les données).
|
||||
|
||||
Vous pouvez utiliser le client de votre choix, comme par exemple
|
||||
[tumsoul.py](https://virli.nemunai.re/misc/tumsoul_0.3.3.py).
|
||||
À la fin de son exécution, le script affichera un lien utilisable sur l'hôte
|
||||
pour se rendre sur la page de connexion. Une autre machine de votre réseau
|
||||
local devrait également pouvoir accéder à la plate-forme, simplement en
|
||||
renseignant l'IP de votre machine et en ajoutant éventuellement des règles de
|
||||
pare-feu (mais cette dernière partie n'est pas demandée, gardez simplement en
|
||||
tête que cela doit pouvoir être fait manuellement au cas par cas : sur une
|
||||
machine sans pare-feu configurée, cela ne demande pas d'étape supplémentaire).
|
||||
|
||||
Une fois construit, le conteneur doit se lancer comme cela :
|
||||
Votre script devra se limiter aux notions vues durant ce TP (ie. sans utiliser
|
||||
`docker-compose` ou `docker stack` que l'on verra au prochain TP). Il pourra
|
||||
cependant faire usage des commandes `docker OBJECT inspect` pour ne pas avoir à
|
||||
parser les retours des commandes lisibles par les humains.
|
||||
|
||||
```
|
||||
docker run -e NETSOUL_LOGIN="login_x" -e PASSSOCKS="xnigol42" netsoul
|
||||
```
|
||||
Cette instance devra utiliser une base de données MySQL (lancée par vos soins
|
||||
dans un autre conteneur) et contenir ses données dans un ou plusieurs volumes
|
||||
(afin qu'elles persistent à une mise à jour des conteneurs par exemple).
|
||||
|
||||
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](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.
|
||||
L'exécution doit être la plus sécurisée possible (pas de port MySQL exposé sur
|
||||
l'hôte par exemple, etc.) et la plus respectueuse des bonnes pratiques que l'on
|
||||
a pu voir durant ce premier cours.
|
||||
|
||||
|
||||
## Modalité de rendu
|
||||
|
|
@ -50,11 +59,8 @@ Voici une arborescence type:
|
|||
login_x-TP1/webserver
|
||||
login_x-TP1/webserver/Dockerfile
|
||||
login_x-TP1/webserver/index.html
|
||||
login_x-TP1/webserver/datavolume-run.sh
|
||||
login_x-TP1/netsoul
|
||||
login_x-TP1/netsoul/Dockerfile
|
||||
login_x-TP1/netsoul/docker-entrypoint.sh
|
||||
login_x-TP1/netsoul/tumsoul.py
|
||||
login_x-TP1/mycloud
|
||||
login_x-TP1/mycloud/mycloud-run.sh
|
||||
```
|
||||
|
||||
## Signature du rendu
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue