Ce laboratoire t'apprendra à créer ton propre conteneur Docker
en créant un fichier Dockerfile
, à l'enrichir avec des commandes shell
sous Unix en créant un fichier entrypoint.sh
, et t'apprendra les bases du CI/CD
Continuous Integration
et Continuous Delivery
avec le service github actions
de github.com
.
Une section Indices est fournie ci-dessous comme documentation d'aide à terminer ce laboratoire.
Tu pourras t'appuyer d'une documentation en ligne pour continuer ce laboratoire en améliorant le fichier Dockerfile
avec le cours en ligne suivant
-
Créer un répertoire avec votre 🆔
-
Créer votre fichier
README.md
$ touch README.md
1️⃣ Écrire les scripts en suivant le laboratoire ci-dessous dans Github Leaning Lab:
https://lab.github.com/CollegeBoreal/lab-github-actions:-bonjour-monde
2️⃣ Copier votre scripts dans le cours en remplaçant 🆔 par votre 🆔 github :
https://github.com/:id:/lab-bonjour-github-actions
- Copier les scripts:
Par example:
-
Copier le fichier
Dockerfile
dans votre 🆔Boréal
-
Copier le fichier
entrypoint.sh
dans votre 🆔Boréal
-
Modifie ton fichier README.md pour plus de documentation
En un mot, récupérer le travail que vous avez fait à travers Github Leaning Lab et le mettre dans cette leçon 1.Docker
3️⃣ Amélioration
En rappel, pour éxécuter localement son fichier Dockerfile
, on execute la commande :
$ docker image build --tag b
🆔:1.0 .
$ docker container run --tty --env INPUT_MON_NOM="Draman" b
🆔:1.0
Bonjour tout le monde mon nom est Draman
🔖 Le but de l'exercice est de l'améliorer le Dockerfile
soit cherchant des examples sur Internet ou dans le livre au Chapitre 8
Décrire les commandes utilisées pour l'amélioration
4️⃣ Docker Image
Pour visualiser les couches images de l'image créée
% docker image history b
🆔:1.0
IMAGE CREATED CREATED BY SIZE COMMENT
a555cf89a1b7 40 seconds ago /bin/sh -c #(nop) ENTRYPOINT ["/entrypoint.… 0B
4bb76bfb1e74 40 seconds ago /bin/sh -c chmod +x /entrypoint.sh 65B
c010b45de5b3 40 seconds ago /bin/sh -c #(nop) ADD file:44be7c7e599db7b1d… 65B
4e5021d210f6 2 weeks ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0B
<missing> 2 weeks ago /bin/sh -c mkdir -p /run/systemd && echo 'do… 7B
<missing> 2 weeks ago /bin/sh -c set -xe && echo '#!/bin/sh' > /… 745B
<missing> 2 weeks ago /bin/sh -c [ -z "$(apt-get indextargets)" ] 987kB
<missing> 2 weeks ago /bin/sh -c #(nop) ADD file:594fa35cf803361e6… 63.2MB
Tu auras besoin de:
📍 créer et manipuler une branche avec git
:
https://github.com/CollegeBoreal/Tutoriels/tree/main/0.GIT/.branch
📍 Créer une demande d'extraction pull request
par le biais de l'interface web de github:
📍 Creér Répertoire Imbriqué
par exemple pour créer .github/workflows
utilise la commande suivante avec le parametre -p
:
$ mkdir -p .github/workflows
https://docs.docker.com/develop/develop-images/dockerfile_best-practices/
https://phoenixnap.com/kb/how-to-containerize-applications
https://phoenixnap.com/kb/docker-cmd-vs-entrypoint
https://livebook.manning.com/book/docker-in-action/chapter-8