Odpowiedzi:
Możesz użyć # jako początku linii, aby skomentować linię .
# Everything on this line is a comment
Uwaga: # jako komentarza można stosować tylko na początku wiersza.
Jak wspomnieli inni, komentarze są oznaczone literą a #
i są tutaj udokumentowane . Jednak, w przeciwieństwie do niektórych języków, #
musi znajdować się na początku wiersza. Jeśli występują one w połowie linii, są interpretowane jako argument i mogą powodować nieoczekiwane zachowanie.
# 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
Należy również zauważyć, że do Dockerfile dodano niedawno dyrektywy analizatora składni, które mają taką samą składnię jak komentarz. Muszą pojawić się na górze pliku, przed innymi komentarzami lub poleceniami. Pierwotnie dodano tę dyrektywę w celu zmiany znaku zmiany znaczenia w celu obsługi systemu Windows:
# escape=`
FROM microsoft/nanoserver
COPY testfile.txt c:\
RUN dir c:\
Pierwszy wiersz, choć wydaje się komentarzem, jest dyrektywą analizatora składni, która zmienia znak zmiany znaczenia na lewy, aby polecenia COPY
i RUN
mogły używać odwrotnego ukośnika na ścieżce. Dyrektywa parsera jest również używana z BuildKit do zmiany parsera frontonu za pomocą syntax
linii. Zobacz składnię eksperymentalną, aby uzyskać więcej informacji na temat tego, jak jest on wykorzystywany w praktyce.
W przypadku polecenia wieloliniowego komentowane linie są ignorowane, ale musisz komentować każdą linię osobno:
$ 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
#
czy tylko pierwszej linii? Eksperyment sugeruje, że to ten pierwszy. Ta odpowiedź może zostać zaktualizowana, aby ją również uwzględnić (co czyni ją jeszcze bardziej niesamowitą).
Użyj #
komentarzy do komentarzy
Od: https://docs.docker.com/engine/reference/builder/#format
# My comment here
RUN echo 'we are running some cool things'
ADD . $foo # ADD . /bar
Komentarze Dockerfile zaczynają się od „#”, podobnie jak Python. Oto dobry przykład ( 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"]
MAINTAINER
jest przestarzałe, teraz zaleca się stosowanie etykiet:LABEL maintainer="foo@abc.com"
Oto format pliku Dockerfile:
Możemy na przykład użyć #
do komentowania#Comment
#FROM microsoft/aspnetcore
FROM microsoft/dotnet
COPY /publish /app
WORKDIR /app
ENTRYPOINT ["dotnet", "WebApp.dll"]
Z powyższego pliku podczas budowania okna dokowanego pomija pierwszy wiersz i przechodzi do następnego wiersza, ponieważ skomentowaliśmy go za pomocą #
Docker traktuje wiersze rozpoczynające się od # jako komentarz, chyba że wiersz jest poprawną dyrektywą analizatora składni. Znacznik # w dowolnym miejscu w linii jest traktowany jako argument.
przykład:
# this line is a comment RUN echo 'we are running some # of cool things'