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:\
첫 번째 줄은 주석으로 보이지만, 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'
답변
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'