web-dev-qa-db-fra.com

Comment faire un commentaire dans un fichier Dockerfile?

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?

281
kpie

Vous pouvez tilisez # pour commenter une ligne .

# Everything on this line is a comment
370
Ranjeet

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
64
BMitch

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'
15
edhurtig

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"] 
3
DhruvPathak

Format

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 #

0
Ben.Bean