web-dev-qa-db-ja.com

Dockerfileにコメントを入れる方法

私はDockerfileを書いています。このファイルにコメントを入れる方法はありますか?

Dockerには、残りの行を無視してそれを無視するコメントオプションがありますか?

237
kpie
319
Ranjeet

他の人が述べたように、コメントは#で参照され、 ここで文書化されています です。ただし、一部の言語とは異なり、#は行の先頭になければなりません。それらが行の途中で発生した場合、それらは引数として解釈され、予期しない動作を引き起こす可能性があります。

# 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
52
BMitch

コメントには#構文を使用してください。

差出人: https://docs.docker.com/engine/reference/builder/#format

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

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

フォーマット

これがDockerfile:のフォーマットです。

例えば#を目的のコメント#Commentに使用することができます。

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

Dockerを構築するときに上記のファイルから最初の行をスキップし、#を使用してコメントしたので次の行に進みます。

0
Ben.Bean