Dockerfile

De wiki jackbot
Aller à la navigation Aller à la recherche

Les Dockerfile sont des fichiers utilisés pour créer des images personnalisées. Exemple :

# les lignes commençant par ce symbole sont des commentaires et ne seront pas interprétées 
# Dockerfile
# serveur mumble
# nom de l'image à partir de laquelle on va créer notre nouvelle image From ubuntu:latest
# nom de la personne qui s'occupe de ça MAINTAINER jackbot
# Set noninteractive mode for apt-get # aucune question ne sera posee lors de l'installation des paquets ENV DEBIAN_FRONTEND noninteractive
# Update & upgrade, rafraîchit la liste des paquets et procède à une mise à jour RUN apt-get update && apt-get install -y apt-utils && apt-get upgrade -y
# Install packages # installation du serveur mumble RUN apt-get -y install mumble-server && apt-get clean
# copie du script qui sera exécuté au démarrage du conteneur COPY start.sh /opt/start.sh
# Expose ports, ports qui seront ouvert vers l'extérieur EXPOSE 64738
# définition du script à exécuter au démarrage CMD /opt/start.sh

Ne pas oublier l'option -y dans les commandes apt-get install sinon la création de l'image s'arrêtera en générant une erreur :

The command '/bin/sh -c apt-get install paquet' returned a non-zero code: 1

Une fois le fichier convenablement crée, il faut se placer dans le dossier le contenant et exécuter la commande :

docker build --tag ubuntu:mumble .

Docker va construire une nouvelle image qui sera nommée ubuntu avec le tag mumble à partir du fichier Dockerfile de l'emplacement courrant '.'

Ceci est un exemple fonctionnel, mais cependant très certainement pas optimisé en taille. Pour réduire la taille des images Docker on trouve quelques tuto sur internet :

https://enix.io/fr/blog/cherie-j-ai-retreci-docker-part1/

Les bonnes pratiques pour écrire des fichiers Dockerfiles