J'écris un Dockerfile. Est-il possible de faire des commentaires dans ce fichier?
Docker a-t-il une option de commentaire qui prend le reste d'une ligne et l'ignore?
Vous pouvez tilisez # pour commenter une ligne .
# Everything on this line is a comment
Comme d'autres l'ont mentionné, les commentaires sont référencés avec un #
et sont documentés ici . Cependant, contrairement à certaines langues, le #
doit être au début de la ligne. S'ils se produisent à mi-chemin de la ligne, ils sont interprétés comme un argument et peuvent entraîner un comportement inattendu.
# This is a comment
COPY test_dir target_dir # This is not a comment, it is an argument to COPY
RUN echo hello world # This is an argument to RUN but the Shell may ignore it
Il convient également de noter que directives de l’analyseur ont récemment été ajoutés au fichier Docker qui ont la même syntaxe qu’un commentaire. Ils doivent apparaître en haut du fichier, avant tout autre commentaire ou commande. A l'origine, cette directive avait été ajoutée pour modifier le caractère d'échappement afin de prendre en charge Windows:
# escape=`
FROM Microsoft/nanoserver
COPY testfile.txt c:\
RUN dir c:\
La première ligne, bien qu’il s’agisse d’un commentaire, est une directive de l’analyseur qui permet de changer le caractère d’échappement en une astuce telle que les commandes COPY
et RUN
puissent utiliser la barre oblique inversée du chemin. Une directive d'analyse est également utilisée avec BuildKit pour modifier l'analyseur frontal avec une ligne syntax
. Voir syntaxe expérimentale pour plus de détails sur la manière dont cela est utilisé dans la pratique.
Avec une commande multiligne, les lignes commentées sont ignorées, mais vous devez commenter chaque ligne individuellement:
$ cat Dockerfile
FROM busybox:latest
RUN echo first command \
# && echo second command disabled \
&& echo third command
$ docker build .
Sending build context to Docker daemon 23.04kB
Step 1/2 : FROM busybox:latest
---> 59788edf1f3e
Step 2/2 : RUN echo first command && echo third command
---> Running in b1177e7b563d
first command
third command
Removing intermediate container b1177e7b563d
---> 5442cfe321ac
Successfully built 5442cfe321ac
Utilisez la syntaxe #
pour les commentaires
De: https://docs.docker.com/engine/reference/builder/#format
# My comment here
RUN echo 'we are running some cool things'
Les commentaires Dockerfile commencent par '#', tout comme Python. Voici un bon exemple (kstaken/dockerfile-examples):
# Install a more-up-to date version of MongoDB than what is included in the default Ubuntu repositories.
FROM ubuntu
MAINTAINER Kimbro Staken
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
RUN echo "deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen" | tee -a /etc/apt/sources.list.d/10gen.list
RUN apt-get update
RUN apt-get -y install apt-utils
RUN apt-get -y install mongodb-10gen
#RUN echo "" >> /etc/mongodb.conf
CMD ["/usr/bin/mongod", "--config", "/etc/mongodb.conf"]
Voici le format du Dockerfile:
Nous pouvons utiliser #
pour commenter purpose#Comment
par exemple
#FROM Microsoft/aspnetcore
FROM Microsoft/dotnet
COPY /publish /app
WORKDIR /app
ENTRYPOINT ["dotnet", "WebApp.dll"]
À partir du fichier ci-dessus, lorsque nous construisons le menu fixe, il saute la première ligne et passe à la ligne suivante car nous l'avons commenté à l'aide de #