最近看了一些Docker相关的知识,对制作dockerfile的流程有一些不明白的地方。
假如要制作一个基于Ubuntu的包含Nginx、MySQL、PHP等服务的dockerfile,我现在的流程是:
docker run一个基本的Ubuntu镜像
更新系统依赖包,如:apt-get update,在文本文档记录执行的命令
安装Nginx,在文本文档记录安装Nginx执行的步骤
....
等于说是先把流程跑一遍,记录下所有执行的命令,然后再把这些步骤复制到dockerfile里。
个人感觉这样做是不对的,请问大家都是怎么做的??
C’est vrai. Si vous connaissez très bien tous les processus, vous pouvez naturellement écrire directement le Dockerfile. Cependant, ce genre de chose ne peut pas être absolument garanti.En particulier, la plupart des images système de base de Docker sont très rationalisées et certains packages de dépendances logicielles doivent être téléchargés et installés, bien que le processus de création d'un conteneur par vous-même soit un peu long. prend du temps, c'est relativement court, au contraire, cela fera gagner du temps que de rêver d'écrire Dockerfile.
Habituellement, l'écriture d'un Dockerfile est un processus comme celui-ci :
Prévisualisez le processus d'installation via le conteneur et enregistrez les commandes de construction
Résumez et optimisez les commandes d'installation, et écrivez Dockerfile
Essayez d'utiliser Dockerfile pour créer l'image et vérifiez s'il y a des problèmes
Créez un conteneur via l'image construite pour vous assurer que le programme qu'il contient peut être utilisé correctement
En vous référant au fichier docker prêt à l'emploi sur docker hub et en le modifiant selon vos propres besoins, il sera plus efficace d'écrire le fichier docker à partir de zéro, vous ne pourrez suivre que le fonctionnement des frères d'en haut. la méthode du « magnétoscope ».