How do I make a comment in a Dockerfile?

前端 未结 7 1071
悲&欢浪女
悲&欢浪女 2021-01-29 20:21

I am writing a Dockerfile. Is there a way to make comments in this file?

Does Docker have a comment option that takes the rest of a line and ignores it?

相关标签:
7条回答
  • 2021-01-29 20:47

    Format

    Here is the format of the Dockerfile:

    We can use # for commenting purpose#Comment for example

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

    From the above file when we build the docker, it skips the first line and goes to the next line because we have commented it using #

    0 讨论(0)
  • 2021-01-29 20:48

    Use the # syntax for comments

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

    # My comment here
    RUN echo 'we are running some cool things'
    
    0 讨论(0)
  • 2021-01-29 20:54
    # this is comment
    this isn't comment
    

    is the way to do it. You can place it anywhere in the line and anything that comes later will be ignored

    0 讨论(0)
  • 2021-01-29 21:01

    Dockerfile comments start with '#', just like Python. Here is a good example (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"] 
    
    0 讨论(0)
  • 2021-01-29 21:02

    Docker treats lines that begin with # as a comment, unless the line is a valid parser directive. A # marker anywhere else in a line is treated as an argument.

    example code:

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

    Output:

    we are running some # of cool things
    
    0 讨论(0)
  • 2021-01-29 21:10

    As others have mentioned, comments are referenced with a # and are documented here. However, unlike some languages, the # must be at the beginning of the line. If they occur part way through the line, they are interpreted as an argument and may result in unexpected behavior.

    # 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
    

    It should also be noted that parser directives have recently been added to the Dockerfile which have the same syntax as a comment. They need to appear at the top of the file, before any other comments or commands. Originally, this directive was added for changing the escape character to support Windows:

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

    The first line, while it appears to be a comment, is a parser directive to change the escape character to a backtick so that the COPY and RUN commands can use the backslash in the path. A parser directive is also used with BuildKit to change the frontend parser with a syntax line. See the experimental syntax for more details on how this is being used in practice.

    With a multi-line command, the commented lines are ignored, but you need to comment out every line individually:

    $ 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
    
    0 讨论(0)
提交回复
热议问题