Как оставить комментарий в Dockerfile?

Я пишу Dockerfile. Можно ли оставлять комментарии 9X_docker в этом файле?

Есть ли в Docker опция комментария, которая 9X_dockerfile берет оставшуюся часть строки и игнорирует 9X_docker ее?

583
0
7
Общее количество ответов: 7

Ответ #1

Ответ на вопрос: Как оставить комментарий в Dockerfile?

Вы можете использовать # в начале строки, чтобы 9X_dockerfile начать comment (пробелы перед # разрешены):

# do some stuff RUN apt-get update \ # install some packages && apt-get install -y cron 

# в середине 9X_docker строки передаются самой команде, например:

RUN echo 'we are running some # of cool things' 

716
4

  • [Ответ BMitch] (https://stackoverflow.com/a/42123446/249226) заполняет важную информацию, кото ...

Ответ #2

Ответ на вопрос: Как оставить комментарий в Dockerfile?

Как уже упоминалось, на комментарии ссылаются 9X_docker с помощью # и являются documented here. Однако, в отличие 9X_dockerfile от некоторых языков, # должен стоять в начале 9X_dockerfile строки. Если они возникают на полпути, они 9X_docker интерпретируются как аргумент и могут привести 9X_docker к неожиданному поведению.

# 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 

Следует также отметить, что 9X_dockerfile parser directives недавно был добавлен в файл Dockerfile 9X_docker и имеет тот же синтаксис, что и комментарий. Они 9X_docker должны располагаться вверху файла перед 9X_dockerfile любыми другими комментариями или командами. Первоначально 9X_dockerfile эта директива была добавлена ​​для изменения 9X_docker escape-символа для поддержки Windows:

# escape=` FROM microsoft/nanoserver COPY testfile.txt c:\ RUN dir c:\ 

Первая 9X_docker строка, хотя и выглядит как комментарий, является 9X_docker директивой синтаксического анализатора для 9X_dockerfile замены escape-символа на обратную кавычку, чтобы 9X_dockerfile команды COPY и RUN могли использовать обратную 9X_docker косую черту в пути. Директива парсера также 9X_docker используется с BuildKit для изменения парсера внешнего 9X_dockerfile интерфейса с помощью строки syntax. См. experimental syntax для получения 9X_dockerfile дополнительной информации о том, как это 9X_dockerfile используется на практике.

При использовании 9X_dockerfile многострочной команды закомментированные 9X_dockerfile строки игнорируются, но вам нужно закомментировать 9X_dockerfile каждую строку отдельно:

$ 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 

146
2

  • +1 за упоминание * "должно быть в начале строки" *. А как насчет продолжения строки? Если строка комментария заканчивается символом \, будет ли следующая строка также комментарием? Другими словами, если б ...

Ответ #3

Ответ на вопрос: Как оставить комментарий в Dockerfile?

Используйте синтаксис # для комментариев

От: https://docs.docker.com/engine/reference/builder/#format

# My comment here RUN echo 'we are running some cool things' 

9X_docker

20
2

  • но можем ли мы прокомментировать ...

Ответ #4

Ответ на вопрос: Как оставить комментарий в Dockerfile?

Комментарии Dockerfile начинаются с #, как 9X_dockerfile и в Python. kstaken has good 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"] 

10
0

Ответ #5

Ответ на вопрос: Как оставить комментарий в Dockerfile?

Docker обрабатывает строки, начинающиеся с # как комментарий, если 9X_docker только строка является допустимой директивой 9X_docker парсера. Маркер # где-нибудь еще в строке рассматривается как аргумент.

пример кода:

# this line is a comment RUN echo 'we are running some # of cool things' 

Вывод:

we are running some # of cool things 
5
0

Ответ #6

Ответ на вопрос: Как оставить комментарий в Dockerfile?

Формат

Вот формат Dockerfile:

Мы можем использовать # для комментирования, например, #COMMENT

#FROM microsoft/aspnetcore FROM microsoft/dotnet COPY /publish /app WORKDIR /app ENTRYPOINT ["dotnet", "WebApp.dll"] 

Из 9X_dockerfile приведенного выше файла, когда мы создаем 9X_dockerfile докер, он пропускает первую строку и переходит 9X_docker к следующей строке, потому что мы прокомментировали 9X_dockerfile его с помощью #

3
0

Ответ #7

Ответ на вопрос: Как оставить комментарий в Dockerfile?

# this is comment this isn't comment 
- это способ сделать это. Вы можете разместить 9X_dockerfile его в любом месте строки, и все, что появится 9X_dockerfile позже, будет проигнорировано
2
0