Les conteneurs sont simplement une instance de l'image que vous utilisez pour les exécuter. L'état d'esprit lors de la création d'une application conteneurisée n'est pas de prendre un conteneur ubuntu frais et propre par exemple, et de télécharger les applications et les configurations que vous souhaitez avoir dedans, puis de le laisser fonctionner.
Vous devez traiter le conteneur comme une instance de votre application, mais votre application est intégrée dans une image. L'utilisation appropriée serait de créer une image personnalisée, où vous intégrez tous vos fichiers, configurations, variables d'environnement, etc. dans l'image. En savoir plus sur Dockerfile et sur la façon dont il est réalisé ici
Une fois que vous avez fait cela, vous avez une image qui contient tout, et pour utiliser votre application, il suffit de lancer l'image avec les paramètres de port appropriés ou d'autres variables dynamiques, en utilisant docker run <your-image>
Exécuter des conteneurs avec --rm
flag est utile pour les conteneurs que vous utilisez pendant une très courte période, juste pour accomplir quelque chose, par exemple, compiler votre application dans un conteneur, ou simplement tester quelque chose qui fonctionne, et ensuite vous savez que c'est un conteneur de courte durée et vous dites à votre démon Docker qu'une fois qu'il a fini de fonctionner, il faut effacer tout ce qui s'y rapporte et économiser l'espace disque.
8 votes
--rm
supprime le conteneur arrêté (celuidocker run
crée), et non l'image sur laquelle elle était basée (ce que vous avez téléchargé).0 votes
docker run --help
devrait être utile. Si vous ne voulez pas supprimer conteneur vous pouvez le passer1 votes
Il doit être
--rm
et c'est pour nettoyer automatiquement le conteneur et supprimer le système de fichiers lorsque le conteneur sort et cela ne signifie pas supprimer le matériel du conteneur.2 votes
Vous ne téléchargez pas de conteneurs, vous téléchargez des images. Lisez ici pour connaître les différences entre les images et les conteneurs : docs.docker.com/engine/docker-overview/#docker-objects