[PYTHON] Étape par étape pour créer un Dockerfile

Le Dockerfile est similaire au manuel de procédure, et vous pouvez l'écrire immédiatement, mais il est assez difficile de vérifier si le contenu (= procédure) est correct. Après l'avoir fait, j'en suis venu à comprendre les points, donc je vais partager la procédure.

FROM sélection

Le Dockerfile peut être écrit en héritant du Dockerfile existant. Le «FROM» décrit au début est utilisé pour cet héritage. Pour faciliter les choses, il est important de trouver d'abord un Dockerfile officiel proche de l'environnement que vous souhaitez créer.

Dans mon cas, je crée souvent un environnement Python, donc j'hérite souvent du Dockerfile Python / Miniconda de FROM.

Après cela, j'écrirai en regardant l'exemple de Dockerfile.

Test de construction

Lorsque vous avez terminé d'écrire, testez si vous pouvez créer un environnement correctement avec lui. La commande docker build est utilisée à cet effet.

docker build

L'utilisation de base est la suivante.

docker build --force-rm=true -t my_image .

Si vous construisez dans un environnement avec un proxy, mais que vous n'avez pas de proxy dans un environnement de production, vous pouvez passer des variables d'environnement avec --build-arg.

docker build --force-rm=true -t my_image --build-arg http_proxy=http://myproxy:8080 --build-arg https_proxy=http://myproxy:8080 .

Comme mentionné ci-dessus, il est rare qu'une compilation passe en une seule fois, donc dans ce cas, supprimez l'image qui n'a pas pu être créée. Si vous négligez de faire cela, il sera très difficile de broyer le disque et de l'effacer plus tard.

Nettoyer après la construction

Maintenant c'est propre. Après cela, la construction sera exécutée et nettoyée à plusieurs reprises.

exécuter le test

Après avoir créé l'image, essayez de l'exécuter et vérifiez si elle fonctionne correctement. Utilisez docker run pour créer un conteneur à partir de l'image et l'exécuter.

docker run

Lorsque vous l'utilisez réellement, cela ressemblera à ce qui suit.

docker run -p 8080:8080 --rm my_image

Nettoyer après l'exécution

Notez que docker run crée un conteneur à partir de l'image à chaque exécution (création d'un conteneur à partir de l'image et exécution du conteneur avec une seule commande). Par conséquent, si vous appuyez à plusieurs reprises sur docker run, il arrive souvent que le conteneur déborde. Assurez-vous d'utiliser docker rm from docker stop pour que le disque ne soit pas occupé par le conteneur.

Une fois que vous avez testé l'exécution, vous avez créé exactement votre Dockerfile. Je vous remercie pour votre travail acharné!

Recommended Posts

Étape par étape pour créer un Dockerfile
Notes sur la création d'un environnement python par les débutants
Dockerfile pour créer un environnement de science des données basé sur pip3
Commandes pour créer un nouveau projet django
Remarques sur la création d'outils de mise en forme de texte
Créer une carte du choléra pour John Snow
Créer un environnement de développement pour l'apprentissage automatique
Un manuel pour les débutants réalisé par des débutants Python
Un outil pour créer des liens symboliques sous Windows
Procédure de création d'un LineBot réalisé avec Python
J'ai essayé de créer un Dockerfile pour l'environnement de développement de Django
Commandes pour créer un environnement python3 avec virtualenv
Procédure de création d'un environnement d'isolation Python (environnement venv)
Essayez de refactoriser tout en prenant des mesures
4. Création d'un programme structuré
Création d'outils de grattage
Procédure de création d'un Line Bot sur AWS Lambda
Créer un chargeur de jeu de données
L'histoire de la création d'un canal VIP dans le chatwork en interne
La première étape de la création d'une application sans serveur avec Zappa
(Pour les débutants) Essayez de créer une API Web simple avec Django
Je veux créer un Dockerfile pour le moment.
Fait une commande pour FizzBuzz
Python vba pour créer une chaîne de date pour créer un nom de fichier