-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Romain Soufflet
committed
Apr 24, 2019
1 parent
d20b6d7
commit 6cc2ed3
Showing
12 changed files
with
210 additions
and
32 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
# Préparation des atelier docker | ||
|
||
Docker doit être installé sur votre poste. | ||
|
||
L'utilisateur courant doit appartenir au group `docker` pour éviter d'avoir à exécuter toutes les commandes en `sudo`. | ||
|
||
```sh | ||
sudo usermod -aG docker $USER | ||
``` | ||
|
||
Un proxy http doit être configuré pour Docker. | ||
|
||
```sh | ||
sudo -s | ||
|
||
mkdir /etc/systemd/system/docker.service.d | ||
|
||
echo "[Service]" > /etc/systemd/system/docker.service.d/http-proxy.conf | ||
echo "Environment=\"HTTP_PROXY=http://orion_user:********@orion.dsic.minint.fr:3128\"" >> /etc/systemd/system/docker.service.d/http-proxy.conf | ||
echo "Environment=\"HTTPS_PROXY=http://otion_user:********@orion.dsic.minint.fr:3128\"" >> /etc/systemd/system/docker.service.d/http-proxy.conf | ||
echo "Environment=\"NO_PROXY=minint.fr,localhost,127.0.0.1\"" >> /etc/systemd/system/docker.service.d/http-proxy.conf | ||
|
||
systemctl daemon-reload && systemctl restart docker | ||
|
||
exit | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
FROM python:3.7.3 | ||
|
||
ENV http_proxy $http_proxy | ||
ENV https_proxy $http_proxy | ||
ENV no_proxy $no_proxy | ||
|
||
RUN pip install flask |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
FROM python:3.7.3 | ||
|
||
ENV http_proxy $http_proxy | ||
ENV https_proxy $http_proxy | ||
ENV no_proxy $no_proxy | ||
|
||
RUN pip install flask | ||
|
||
RUN mkdir /src | ||
VOLUME /src | ||
WORKDIR /src | ||
|
||
RUN groupadd -g 2200 appuser && \ | ||
useradd -r -u 2200 -g appuser appuser | ||
|
||
USER appuser | ||
|
||
ENV FLASK_APP=server.py | ||
ENV FLASK_DEBUG=1 | ||
CMD flask run --host=0.0.0.0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
## Atelier 8 : Persistence des données | ||
|
||
On a pas mal utiliser les volumes pour rafraîchir le code dans le conteneur. | ||
Nous allons aller un peu plus loin cette fois-ci pour l'aspect backup. | ||
|
||
## Fonctionnement du volume | ||
|
||
``` | ||
docker stop mon-api | ||
docker rm mon-api | ||
# Aucun point de montage | ||
mount | grep overlay | ||
docker run -p 5000:5000 -v $PWD:/src -d --name mon-api atelier/first-container | ||
# Point de montage type `overlay` | ||
mount | grep overlay | ||
``` | ||
|
||
Étant donnée qu'il s'agit d'un point de montage, la communication du volume et | ||
bidirectionnel | ||
|
||
On peut créer un fichier sur la machine host et le voir dans le container | ||
|
||
``` | ||
touch unfichierHost | ||
docker exec -it mon-api ls /src/ | ||
rm unfichierHost | ||
``` | ||
|
||
On peut créer un fichier dans le container et le voir sur le host | ||
|
||
``` | ||
docker exec -it mon-api ls /src/unfichierContainer | ||
ls | ||
rm unfichierContainer | ||
``` | ||
|
||
## Montage en read-only | ||
|
||
Nous pouvons aussi protéger notre configuration en écriture | ||
|
||
``` | ||
docker stop mon-api | ||
docker rm mon-api | ||
docker run -d -p 5000:5000 -v $PWD:/src:ro --name mon-api atelier/first-container | ||
docker inspect mon-api | jq .[0].Mounts | ||
docker exec -it mon-api touch /src/toto | ||
``` | ||
|
||
## Les logs | ||
|
||
Si on se réfere au [12 factor apps](https://12factor.net/fr/). Les logs doivent | ||
sortir sur la sortie standard. | ||
|
||
De cette maniére, les logs sont capturé via `docker logs <container>`. | ||
|
||
Et de cette manière, lorsque notre container est gérer par `systemd`, les logs | ||
seront adressé à syslog où dans des fichiers spécifié qui pouront ensuite être | ||
envoyé dans les outils de supervision. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
#!/usr/bin/env python | ||
|
||
from flask import Flask | ||
|
||
app = Flask(__name__) | ||
|
||
|
||
@app.route('/') | ||
def hello_world(): | ||
return 'Hello, World!\n' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
FROM python:3.7.3 | ||
|
||
ENV http_proxy $http_proxy | ||
ENV https_proxy $http_proxy | ||
ENV no_proxy $no_proxy | ||
|
||
RUN pip install flask | ||
|
||
RUN mkdir /src | ||
VOLUME /src | ||
WORKDIR /src | ||
|
||
RUN groupadd -g 2200 appuser && \ | ||
useradd -r -u 2200 -g appuser appuser | ||
|
||
USER appuser | ||
|
||
ENV FLASK_APP=server.py | ||
ENV FLASK_DEBUG=1 | ||
CMD flask run --host=0.0.0.0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
## Atelier Compose 3: stockage partagé | ||
|
||
Nous pouvons partagé des données entre container. | ||
Regardons la sections `storages` du fichier `docker-compose.yml` | ||
|
||
``` | ||
docker-compose up -d | ||
docker ps | ||
``` | ||
|
||
Nous allons maintenant ajouter un fichier dans le volume depuis le container | ||
`mon-api` et voir ce fichier dans le container `redis` | ||
|
||
``` | ||
docker exec --user root -it ateliercompose3_mon-api_1 touch /src/partage/fichierPartage | ||
docker exec --user root -it ateliercompose3_redis_1 ls -l /opt | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
version: '2' | ||
|
||
volumes: | ||
data-volume: | ||
|
||
services: | ||
mon-api: | ||
image: atelier/first-container | ||
volumes: | ||
- /home/stagiaire/formationDocker/atelier-compose-1:/src | ||
- data-volume:/src/partage:rw | ||
ports: | ||
- "5000:5000" | ||
networks: | ||
- mon-api-compose-network | ||
|
||
redis: | ||
image: "redis:alpine" | ||
volumes: | ||
- data-volume:/opt:ro | ||
networks: | ||
- mon-api-compose-network | ||
|
||
networks: | ||
mon-api-compose-network: | ||
driver: bridge |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
#!/usr/bin/env python | ||
|
||
from flask import Flask | ||
|
||
app = Flask(__name__) | ||
|
||
|
||
@app.route('/') | ||
def hello_world(): | ||
return 'Hello, World!\n' |