Bonnes pratiques
Nous vous recommandons vivement de parcourir les bonnes pratiques de Docker pour vous aider à apprendre la meilleure façon d'optimiser votre conteneur et sa sécurité.
Voici quelques conseils pour optimiser votre conteneur afin qu'il fonctionne parfaitement avec Edgegap.
Gestion des versions
La gestion des versions de la construction de votre conteneur est un aspect essentiel de la vie d'un conteneur puisque de nombreux environnements ne retéléchargeront pas l'image si le tag est déjà présent sur la machine.
Le tag latest
Par défaut, lorsque vous exécutez la commande build :
Pour les utilisateurs de CPU ARM (Mac M1, M2, etc.), ajoutez --platform linux/amd64 option à votre commande de build.
docker build -t repo/example .La sortie donnera à cette build le tag latest
Ce qui suit donne la même sortie :
docker build -t repo/example:latest .Mais gardez à l'esprit, latest n'est qu'un tag comme un autre et ne représente pas toujours votre dernière build.
Exemple :
docker build -t repo/example:latest .
# effectuez quelques modifications dans votre code
docker build -t repo/example:0.1 .Edgegap ne mettra PAS à jour votre tag latest et la version 0.1 sera en avance avec le nouveau code.
Exemple pour le tagging
Nous recommandons d'augmenter ou de changer votre version à chaque build d'image afin d'assurer une utilisation correcte et d'éviter la mise en cache de l'ancienne version dans le système. Supposons que vous utilisiez déjà un système pour faire du versionnage sémantique ou augmenter la version à chaque compilation. Dans ce cas, vous pouvez rendre le processus de tagging automatique de votre build Docker assez simple.
Exemple de script Bash pour construire votre Dockerfile avec la version correspondante que vous passez en argument.
Cet exemple construira avec la version donnée, taggera le dépôt et le poussera (N'oubliez pas de vous connecter d'abord si vous utilisez un dépôt privé).
Avec ce script, vous pouvez maintenant utiliser la version de build de votre application pour l'appeler correctement.
Exemple : Vous construisez votre nouvelle version de serveur de jeu 2021.01.29.1234
Pourquoi
La principale raison d'augmenter un tag à chaque build est d'empêcher la mise en cache au niveau de l'Edge.
Pour être capable de démarrer le serveur en quelques secondes, nous pré-téléchargeons l'image et ne multiplions le nombre d'instances que sur demande. Nous ne pouvons pas garantir la fréquence de la politique de pull puisque nous ne la téléchargeons que si l'image n'est pas déjà présente sur l'Edge.
Donc essentiellement en utilisant latest un tag ou tout tag persistant pourrait vous causer des problèmes pour corriger ou déboguer puisque vous allez mettre à jour la build et la déployer sur Edgegap mais l'Edge ne téléchargera pas la nouvelle version de votre tag puisqu'elle est la même.
Si vous n'utilisez jamais le versionnage sémantique, Edgegap vous suggère vivement d'en lire davantage et d'appliquer cela à la gestion des versions de vos builds !
Mis à jour
Ce contenu vous a-t-il été utile ?

