Ответы:
Вы можете использовать # как начало строки, чтобы прокомментировать строку .
# Everything on this line is a comment
Примечание: # в качестве комментария можно использовать только в начале строки.
Как уже упоминали другие, комментарии отмечены с #
и документированы здесь . Однако, в отличие от некоторых языков, он #
должен находиться в начале строки. Если они происходят частично через строку, они интерпретируются как аргумент и могут привести к неожиданному поведению.
# 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
Следует также отметить, что в Dockerfile недавно были добавлены директивы синтаксического анализатора, которые имеют тот же синтаксис, что и комментарий. Они должны появляться в верхней части файла, перед любыми другими комментариями или командами. Первоначально эта директива была добавлена для изменения escape-символа для поддержки Windows:
# escape=`
FROM microsoft/nanoserver
COPY testfile.txt c:\
RUN dir c:\
Первая линия, в то время как это , кажется, комментарий, это парсер директива , чтобы изменить характер побега к кавычке так , что COPY
и RUN
команды могут использовать обратную косую черту в пути. Директива синтаксического анализатора также используется с BuildKit для изменения синтаксического анализатора внешнего интерфейса со syntax
строкой. Посмотрите экспериментальный синтаксис для более подробной информации о том, как это используется на практике.
С помощью многострочной команды закомментированные строки игнорируются, но вы должны закомментировать каждую строку отдельно:
$ 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
#
или только с первой строки? Эксперимент предполагает, что это первое. Этот ответ может быть обновлен, чтобы охватить это также (делая его еще более удивительным).
Используйте #
синтаксис для комментариев
От: https://docs.docker.com/engine/reference/builder/#format
# My comment here
RUN echo 'we are running some cool things'
ADD . $foo # ADD . /bar
Комментарии в Dockerfile начинаются с '#', как и в Python. Вот хороший пример ( 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
устарела, сейчас советуют использовать ярлыки:LABEL maintainer="foo@abc.com"
Docker рассматривает строки, начинающиеся с #, как комментарий, если строка не является допустимой директивой синтаксического анализатора. Маркер # в любом месте строки рассматривается как аргумент.
пример кода:
# this line is a comment RUN echo 'we are running some # of cool things'
Вывод:
we are running some # of cool things
Вот формат Dockerfile:
Мы можем использовать #
для комментирования цели, #Comment
например
#FROM microsoft/aspnetcore
FROM microsoft/dotnet
COPY /publish /app
WORKDIR /app
ENTRYPOINT ["dotnet", "WebApp.dll"]
Из приведенного выше файла, когда мы собираем докер, он пропускает первую строку и переходит к следующей строке, потому что мы прокомментировали его, используя #