我正在写一个Dockerfile。有没有办法在这个文件中添加注释?
Docker是否有一个注释选项,可以取走行的其余部分并忽略它?
发布于 2016-04-19 14:45:26
您可以在行首使用#
来启动comment (允许在#
之前使用空格):
# do some stuff
RUN apt-get update \
# install some packages
&& apt-get install -y cron
字符串中间的#
被传递给命令本身,例如:
RUN echo 'we are running some # of cool things'
发布于 2017-02-09 04:56:44
正如其他人提到的,注释是用#
引用的,并且是documented here。但是,与某些语言不同的是,#
必须位于行的开头。如果它们出现在行的中途,它们将被解释为参数,并可能导致意外的行为。
# 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
还应该注意的是,parser directives是最近添加到Dockerfile文件中的,它具有与注释相同的语法。它们需要出现在文件的顶部,在任何其他注释或命令之前。最初,添加此指令是为了更改转义字符以支持Windows:
# escape=`
FROM microsoft/nanoserver
COPY testfile.txt c:\
RUN dir c:\
虽然第一行看起来是注释,但它是一个解析器指令,用于将转义字符更改为反斜杠,以便COPY
和RUN
命令可以在路径中使用反斜杠。解析器指令也可以与BuildKit一起使用,以通过syntax
行更改前端解析器。有关如何在实践中使用它的更多详细信息,请参阅experimental 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
发布于 2016-04-19 14:46:21
对注释使用#
语法
来自:https://docs.docker.com/engine/reference/builder/#format
# My comment here
RUN echo 'we are running some cool things'
https://stackoverflow.com/questions/36710459
复制相似问题