Images Solutions
Dockerfile
Créer un Dockerfile pur construire une image nommée myhello :
- à base de alpine:3.17
- un script entrypoint.sh qui fait un echo des arguments suivi du username
Solution
vi DockerfileFROM alpine:3.17COPY entrypoint.sh /CMD ["Bonjour"]ENTRYPOINT ["/entrypoint.sh"]Créer un script shell
Solution
vi entrypoint.sh#!/bin/shecho $* $(whoami)Creation par étapes
Solution
vi hello.c#include <stdio.h>int main(void){printf("Bonjour en lagage C ...\n");}Solution
vi DockerfileFROM alpine:3.17 AS firstCOPY hello.c /RUN apk add gcc libc-dev \ && gcc -o hello hello.cCMD ["/hello"]Solution
vi DockerfileFROM alpine:3.17 AS firstCOPY hello.c /RUN apk add gcc libc-dev \ && gcc -o hello hello.cFROM alpine:3.17 AS secondCOPY --from=first hello /CMD ["/hello"]Création d’une image de base
Créer une image de base alpine avec un compilateur gcc
Solution
docker run -it --name=gcc alpine:3.17# apk add gcc libc-devCréer l’archive avec le commande docker export
Solution
$ docker export gcc -o gcc.tarCréer un Dockerfile pour l’image de base
Solution
$ cat DockerfileFROM scratchADD gcc.tar /CMD ["/bin/sh"]Construire l’image de base
Solution
docker build -t gcc:alpine .Tester l’image de base
Solution
$ docker run -it gcc:alpine# gcc