Chore : move files out of directory

This commit is contained in:
Nathan Tien You
2024-09-18 08:54:54 +00:00
parent f282f6cc97
commit f47127cd1d
28 changed files with 0 additions and 0 deletions
+13
View File
@@ -0,0 +1,13 @@
.idea/
*.iml
*.iws
*.eml
out/
.DS_Store
.svn
log/*.log
tmp/**
node_modules/
.sass-cache
_static/
*.bkp
+9
View File
@@ -0,0 +1,9 @@
FROM node:lts-alpine AS build-stage
WORKDIR /app
COPY package*.json .
RUN npm ci
COPY . .
RUN npm run build
FROM nginx:stable-alpine AS production-stage
COPY --from=build-stage /app/_static /usr/share/nginx/html
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 28 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 27 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 18 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 83 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.
+5399
View File
File diff suppressed because it is too large Load Diff
+10
View File
@@ -0,0 +1,10 @@
{
"dependencies": {
"reveal-md": "^6.1.2"
},
"scripts":{
"start":"npx reveal-md slides.md -w",
"docker":"sudo docker run --rm -p 1948:1948 -p 35729:35729 -v .:/slides webpronl/reveal-md:latest /slides --watch",
"build":"npm run start -- --static --static-dirs=assets"
}
}
+4
View File
@@ -0,0 +1,4 @@
{
"theme":"white",
"css":"style.css"
}
+7
View File
@@ -0,0 +1,7 @@
{
"hash": true,
"center": false,
"slideNumber": "c/t",
"transition":"slide",
"backgroundTransition": "slide"
}
+200
View File
@@ -0,0 +1,200 @@
## Simplifiez vos déploiement avec la conteneurisation
Nathan Tien You
---
## Sommaire
- Introduction à la conteneurisation
- Docker
- Principes clés
- Conteneurs
- Images
- Orchestration
- Exemples d'applications
---
## Nathan Tien You
<!-- .slide: data-visibility="hidden"-->
- Ingénieur spécialité informatique
- Développeur fullstack
- Home Server :
- Proxmox
- Docker
- Gitea actions
- Amateur de jeux de deckbuilding
---
## Problématiques liées à la virtualisation
- Gourmand (Mémoire, processeur, disque dur)
- Installation lourde
- Mises à jour et maintenance
- Système d'exploitation
- Outils de supervision
- Dépendances / prérequis
---
## Infrastructure as code
- Automatisation
- Fiabilité
- Efficacité
- Contrôle des versions
- Autodocumenté
- Immutabilité
---
## Virtualisation du service
![Comparison between containers, bare metal, and virtual machines](https://about.gitlab.com/images/blogimages/containers-vm-bare-metal.png "Containers vs VMs")
<!-- <sup>source : [Gitlab](https://gitlab.com)</sup> -->
---
## Différents types de conteneurisation
- Conteneurs Processus
- Docker
- Podman
- Conteneurs Machine
- LXC
- LXD
---
## Conteneurs
Contexte d'éxecution isolé : chroot
<object data-id="chroot.svg" data="./assets/chroot.svg" type="image/svg+xml"></object>
---
## Base du conteneur : image
<object data-id="Docker image.drawio.svg" data="./assets/Docker image.drawio.svg" type="image/svg+xml"></object>
---
## Registres d'images
<!-- .slide: data-visibility="hidden"-->
![Docker image registry](https://despliegue.codeandcoke.com/_media/apuntes:arquitectura_docker.png)
---
## Lancement d'un conteneur
```bash
docker run hello-world
```
<object data-id="container.svg" data="./assets/Container.drawio.svg" type="image/svg+xml"></object>
----
<!-- .slide: data-visibility="hidden" data-background-video="./assets/run.mp4" data-background-size="contain" -->
---
## Bonnes pratiques Docker
- Conteneurs éphémères
- Processus stateless
- Architecture Shared-nothing
- Images minimales
- Installer uniquement le nécessaire
- Compiler le code dans les images : pas de compilation en production
---
## Construction d'une image
<!-- .slide: data-visibility="hidden"-->
```Docker dockercompose
FROM node:lts-alpine3.20
WORKDIR /app
COPY package.json ./
COPY package-lock.json ./
COPY index.js ./
RUN npm ci
CMD ["node", "index.js"]
```
![Container Insides](./assets/Image.drawio.svg)
```bash
docker buildx build . -t demo:latest
```
----
<!-- .slide: data-background-video="./assets/run.mp4" data-background-size="contain" data-visibility="hidden" -->
---
## Orchestration
- Automatisation du déploiement
- Horizontal Scaling
- Nombreuses platformes
- Kubernetes
- Docker Compose
- OpenShift
---
<h2>Exemple d'usage</h2>
<object data-id="Compose.svg" data="./assets/Compose.drawio.svg" type="image/svg+xml"></object>
<!-- .slide: data-auto-animate -->
----
```yaml [|1-4,11-13,21-23|5-6,14-15,36-37|8-9,18-19,28-30,32-34|7,16-17,24-25,26-27] dockercompose
services:
database:
image: redis:alpine3.20
volumes:
- database-data:/data
command: "redis-server --save 60 1"
networks:
- back
frontend:
image: docker-demo/front
build: ./front
volumes:
- ./test.txt:/usr/local/apache2/htdocs/test.txt
ports:
- "80:80"
networks:
- front
backend:
image: docker-demo/backend
build: ./back
environment:
- REDIS_URL=redis://database
depends_on:
- database
networks:
- back
- front
networks:
front:
back:
volumes:
database-data:
```
---
## Orchestration : Kubernetes
- Clusters
- Stockage distribué
- Haute Disponibilité
- Redondance
- Stratégie de déploiement
---
## Où utiliser la conteneurisation ?
- Services internes ou publics
- DevOps (Déploiement et intégration continue)
- Technologies Cloud (AWS, Azure...) ou on-prem
- Complémentaire aux machines virtuelles
+27
View File
@@ -0,0 +1,27 @@
.reveal h2 {
text-transform: unset;
margin-left: -1ch
}
/* .reveal img, .reveal object {
margin: auto;
display: block;
} */
.reveal pre code {
max-height: 620px;
}
.reveal pre code.dockercompose {
font-size: 16px;
line-height: 16px;
}
section {
text-align: left;
}
.title-slide {
height: unset;
}