Antworten:
Sie können # als Zeilenanfang verwenden, um die Zeile zu kommentieren .
# Everything on this line is a comment
Hinweis: # als Kommentar kann nur am verwendet wird Anfang der Zeile.
Wie andere bereits erwähnt haben, werden Kommentare mit a bezeichnet #
und hier dokumentiert . Im Gegensatz zu einigen Sprachen #
muss sich das jedoch am Anfang der Zeile befinden. Wenn sie auf halbem Weg durch die Zeile auftreten, werden sie als Argument interpretiert und können zu unerwartetem Verhalten führen.
# 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
Es sollte auch beachtet werden, dass kürzlich Parser-Direktiven zur Docker-Datei hinzugefügt wurden, die dieselbe Syntax wie ein Kommentar haben. Sie müssen vor allen anderen Kommentaren oder Befehlen oben in der Datei angezeigt werden. Ursprünglich wurde diese Anweisung hinzugefügt, um das Escape-Zeichen so zu ändern, dass Windows unterstützt wird:
# escape=`
FROM microsoft/nanoserver
COPY testfile.txt c:\
RUN dir c:\
Die erste Zeile scheint ein Kommentar zu sein, ist jedoch eine Parser-Anweisung, mit der das Escape-Zeichen in ein Backtick geändert wird, damit die Befehle COPY
und RUN
den Backslash im Pfad verwenden können. Eine Parser-Direktive wird auch mit BuildKit verwendet , um den Frontend-Parser durch eine syntax
Zeile zu ändern . Weitere Informationen dazu, wie dies in der Praxis verwendet wird, finden Sie in der experimentellen Syntax .
Bei einem mehrzeiligen Befehl werden die kommentierten Zeilen ignoriert, Sie müssen jedoch jede Zeile einzeln auskommentieren:
$ 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
#
oder nur mit der ersten Zeile beginnen? Ein Experiment legt nahe, dass es das erstere ist. Diese Antwort könnte aktualisiert werden, um dies ebenfalls abzudecken (was es noch großartiger macht).
Verwenden Sie die #
Syntax für Kommentare
Von: https://docs.docker.com/engine/reference/builder/#format
# My comment here
RUN echo 'we are running some cool things'
ADD . $foo # ADD . /bar
Dockerfile-Kommentare beginnen wie Python mit '#'. Hier ist ein gutes Beispiel ( kstaken / dockerfile-Beispiele ):
# 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"]
MAINTAINER
ist veraltet, jetzt wird empfohlen, Etiketten zu verwenden:LABEL maintainer="foo@abc.com"
Docker behandelt Zeilen, die mit # beginnen, als Kommentar, es sei denn, die Zeile ist eine gültige Parser-Direktive. Ein # -Marker an einer anderen Stelle in einer Zeile wird als Argument behandelt.
Beispielcode:
# this line is a comment RUN echo 'we are running some # of cool things'
Ausgabe:
we are running some # of cool things
Hier ist das Format der Dockerfile:
Wir können zum Beispiel #
zu Kommentierungszwecken verwenden#Comment
#FROM microsoft/aspnetcore
FROM microsoft/dotnet
COPY /publish /app
WORKDIR /app
ENTRYPOINT ["dotnet", "WebApp.dll"]
Aus der obigen Datei wird beim Erstellen des Dockers die erste Zeile übersprungen und zur nächsten Zeile weitergeleitet, da wir sie mit kommentiert haben #