tutorials: improve theme + use pandoc 2
This commit is contained in:
parent
de21be218a
commit
d25af4fdb2
65 changed files with 1281 additions and 1292 deletions
|
@ -32,7 +32,13 @@ vous pouvez télécharger la dernière version :
|
|||
d'alpine : `library/alpine` dans le registre Docker.
|
||||
|
||||
Si vous n'avez pas eu le temps de terminer l'exercice précédent, vous pouvez
|
||||
utiliser `docker image save alpine | tar xv -C rootfs`.
|
||||
utiliser :
|
||||
|
||||
<div lang="en-US">
|
||||
```bash
|
||||
docker image save alpine | tar xv -C rootfs
|
||||
```
|
||||
</div>
|
||||
|
||||
|
||||
## Modèle de configuration
|
||||
|
@ -42,8 +48,8 @@ fastidieux et répétitif, nous allons donc gagner du temps et utiliser la
|
|||
commande suivante, qui nous créera un modèle que nous adapterons un peu :
|
||||
|
||||
<div lang="en-US">
|
||||
```shell
|
||||
runc spec
|
||||
```bash
|
||||
runc spec
|
||||
```
|
||||
</div>
|
||||
|
||||
|
@ -56,12 +62,12 @@ Pour savoir à quoi correspondent tous ces éléments, vous pouvez consulter :
|
|||
Voici comment nous pouvons tester le fonctionnement de notre *bundle* :
|
||||
|
||||
<div lang="en-US">
|
||||
```shell
|
||||
42sh$ ls
|
||||
rootfs/ config.json
|
||||
```
|
||||
42sh$ ls
|
||||
rootfs/ config.json
|
||||
|
||||
42sh# runc run --bundle . virli1
|
||||
/ # _
|
||||
42sh# runc run --bundle . virli1
|
||||
/ # _
|
||||
```
|
||||
</div>
|
||||
|
||||
|
@ -70,34 +76,34 @@ retrouver tout l'écosystème de `docker` ; ici il n'y a pas de gestion des
|
|||
journaux, etc. :
|
||||
|
||||
<div lang="en-US">
|
||||
```shell
|
||||
42sh# runc list
|
||||
ID PID STATUS BUNDLE CREATED OWNER
|
||||
virli1 12345 running /tmp/work/runctest 2012-12-12T12:12:12.123456789Z root
|
||||
```bash
|
||||
42sh# runc list
|
||||
ID PID STATUS BUNDLE CREATED OWNER
|
||||
virli1 12345 running /tmp/work/runctest 2012-12-12T12:12:12.123456789Z root
|
||||
|
||||
42sh# runc state virli1
|
||||
...
|
||||
42sh# runc state virli1
|
||||
...
|
||||
```
|
||||
</div>
|
||||
|
||||
|
||||
## Attacher notre *home*
|
||||
## Attacher notre `home`
|
||||
|
||||
Dans le modèle de `config.json`, il y a déjà de nombreux systèmes de fichiers
|
||||
qui sont montés. Nous pouvons les filtrer avec :
|
||||
|
||||
<div lang="en-US">
|
||||
```shell
|
||||
42sh$ jq .mounts config.json
|
||||
```bash
|
||||
42sh$ jq .mounts config.json
|
||||
```
|
||||
```json
|
||||
[
|
||||
{
|
||||
"destination": "/proc",
|
||||
"type": "proc",
|
||||
"source": "proc"
|
||||
},
|
||||
[...]
|
||||
[
|
||||
{
|
||||
"destination": "/proc",
|
||||
"type": "proc",
|
||||
"source": "proc"
|
||||
},
|
||||
[...]
|
||||
```
|
||||
</div>
|
||||
|
||||
|
@ -106,25 +112,25 @@ ajouter un élément à cette liste, demandant de *bind* :
|
|||
|
||||
<div lang="en-US">
|
||||
```json
|
||||
{
|
||||
"destination": "/home",
|
||||
"type": "none",
|
||||
"source": "/home",
|
||||
"options": [
|
||||
{
|
||||
"destination": "/home",
|
||||
"type": "none",
|
||||
"source": "/home",
|
||||
"options": [
|
||||
"bind",
|
||||
"ro"
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
</div>
|
||||
|
||||
|
||||
## Exercice
|
||||
## Exercice {-}
|
||||
|
||||
Serez-vous capable de continuer l'édition de votre `config.json` afin d'obtenir
|
||||
les mêmes restrictions que votre projet de moulette ?
|
||||
|
||||
* CGroups : 1GB RAM, 100 PID, ...
|
||||
* CGroups : 1\ GB RAM, 100\ PIDs, ...
|
||||
* strict minimum de capabilities ;
|
||||
* filtres `seccomp` ;
|
||||
* carte réseau `veth` ;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue