[docker] Dockerfile에서 주석을 작성하려면 어떻게합니까?

Dockerfile을 작성 중입니다. 이 파일에 댓글을 달 수있는 방법이 있습니까?

Docker에는 나머지 줄을 가져 와서 무시하는 주석 옵션이 있습니까?



답변

당신은 할 수 라인을 언급 라인의 시작으로 #을 사용합니다 .

# Everything on this line is a comment

참고 : # 은 주석의 시작 부분 에서만 사용할 수 있습니다 .


답변

다른 사람들이 언급했듯이 주석은 a를 참조하고 여기#문서화되어 있습니다 . 그러나 일부 언어와 달리 #줄의 시작 부분에 있어야합니다. 그것들이 라인을 통해 도중에 발생하면, 그것들은 인수로 해석되어 예기치 않은 동작을 초래할 수 있습니다.

# 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에 추가되었습니다. 다른 주석이나 명령 앞에 파일 상단에 표시되어야합니다. 원래이 지시문은 Windows를 지원하도록 이스케이프 문자를 변경하기 위해 추가되었습니다.

# escape=`

FROM microsoft/nanoserver
COPY testfile.txt c:\
RUN dir c:\

첫 번째 줄은 주석으로 보이지만, COPYRUN명령이 경로에서 백 슬래시를 사용할 수 있도록 이스케이프 문자를 백틱으로 변경하는 파서 지시문 입니다. 구문 분석기 지시문은 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'


답변

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


답변

체재

형식은 다음과 같습니다. Dockerfile:

예를 들어 #코멘트 목적으로 사용할 수 있습니다#Comment

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

도커를 만들 때 위의 파일에서 첫 번째 줄을 건너 뛰고 다음 줄을 사용하여 주석을 달았으므로 다음 줄로갑니다. #


답변

Docker는 라인이 유효한 파서 지시문이 아닌 경우 # 으로 시작하는 라인을 주석으로 처리합니다 . 줄의 다른 곳에서 # 표시는 인수로 취급됩니다.

예:

# this line is a comment

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

답변