par Andrei SAMBRA
On part sur un dialogue, pas un monologue !
Je reste à votre disposition pour le reste de la journée.
Posez-moi des questions à tout moment.
< Important
< Question
Réponse: un conteneur.
En termes simples, un conteneur est juste un autre processus sur votre machine qui a été isolé de tous les autres processus sur la machine hôte.
Étant donné que les conteneurs Docker encapsulent tout ce dont une application a besoin pour s'exécuter (et uniquement ces éléments), ils permettent aux applications d'être facilement déplacées entre différents environnements (data center, dev laptop, etc.) et architectures.
Le fichier de configuration Dockerfile
Tout commence par un fichier de config qui définissent comment créer une image Docker spécifique. Ce fichier s'appelle un Dockerfile. Le fichier exécute automatiquement les commandes décrites et crée une image Docker.
L'image Docker
C'est un fichier immuable (non modifiable) qui contient le code source, les bibliothèques, les dépendances, les outils et d'autres fichiers nécessaires à l'exécution d'une application. Ce sont des templates, vous ne pouvez pas les démarrer ou les exécuter.
Le conteneur Docker
C'est un environnement d'exécution virtualisé et local dans lequel les utilisateurs peuvent isoler les applications du système sous-jacent. Ces conteneurs sont des unités compactes et portables dans lesquelles vous pouvez démarrer une application rapidement et facilement.
FROM nginx:alpine
COPY index.html /usr/share/nginx/html
<html> <h1>Hello world!</h1> </html>
~$ chmod 755 index.html
~$ docker image ls
~$ docker ps
Using default tag: latest
The push refers to repository [docker.io/<user>/test-html]
An image does not exist locally with the tag: <user>/test-html
Pourquoi a-t-elle échoué? La commande push recherchait une image nommée <user>/test-html, mais n'en a pas trouvé.
~$ mkdir data
~$ touch data/data.txt
~$ docker run --mount type=bind,source="$(pwd)"/data,target=/usr/share/nginx/html/data -d -p 80:80 deiu/test-data
~$ echo "Hello data" > data/data.txt
~$ echo $PATH
(une par une)
~$ docker run \
-d -p 8080:8080 \
-e PASSWORD=secret \ deiu/test-env
(dans un fichier)
~$ cat env.list DBFILE=/db/data.db ORIGIN=https://example.org:3000 PASSWORD=secret ~$ docker run \ -d -p 8080:8080 \
--env-file env.list \ deiu/test-env