Considérez le fichier Docker suivant:
FROM Alpine:Edge
EXPOSE \
# web portal
8080 \
# backdoor
8081
Construit comme tel:
docker build .
Nous observons une telle sortie:
Sending build context to Docker daemon 17.1TB
Step 1/2 : FROM Alpine:Edge
---> 7463224280b0
Step 2/2 : EXPOSE 8080 8081
---> Using cache
---> 7953f8df04d9
[WARNING]: Empty continuation line found in:
EXPOSE 8080 8081
[WARNING]: Empty continuation lines will become errors in a future release.
Successfully built 7953f8df04d9
Donc, étant donné qu'il sera bientôt illégal de mettre des commentaires au milieu d'une section multiligne: quelle est la nouvelle méthode recommandée pour commenter les commandes multilignes ?
Ceci est particulièrement important pour les commandes RUN
, car nous sommes invités à réduire les couches d'image en &&
ing en même temps.
Je ne sais pas exactement quand cela a été introduit, mais j'expérimente actuellement ceci dans la version:
???? docker --version
Docker version 17.07.0-ce, build 8784753
J'utilise le flux de sortie Edge de Docker, alors peut-être que cela ne vous semblera pas encore familier si vous utilisez Docker stable.
17.07.0-ce a commencé à avertir sur les lignes de continuation vides. Cependant, il a incorrectement traité les lignes de commentaire uniquement comme vides. Ceci est corrigé dans moby # 35004 et est inclus dans 17.10.0-ce .
Vous pouvez diviser les commandes RUN
en plusieurs lignes, puis utiliser la commande experimental (au moment de l'écriture *) --squash
.
* notez qu'il a été suggéré que des versions multi-étapes pourraient rendre --squash
redondant. Cela fait actuellement l'objet de discussions ici , avec une proposition ouverte ici .