web-dev-qa-db-ger.com

Wie mache ich einen Kommentar in einem Dockerfile?

Ich schreibe eine Dockerfile. Gibt es eine Möglichkeit, Kommentare in dieser Datei zu machen?

Verfügt Docker über eine Kommentaroption, mit der der Rest einer Zeile ignoriert wird?

281
kpie

Sie können mit # eine Zeile kommentieren .

# Everything on this line is a comment
370
Ranjeet

Wie bereits erwähnt, werden Kommentare mit einem # bezeichnet und sind hier dokumentiert . Im Gegensatz zu einigen Sprachen muss # jedoch am Anfang der Zeile stehen. Wenn sie auf halbem Weg durch die Zeile auftreten, werden sie als Argument interpretiert und können zu unerwartetem Verhalten führen.

# 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

Es sollte auch beachtet werden, dass Parser-Direktiven kürzlich zur Docker-Datei hinzugefügt wurden, die dieselbe Syntax wie ein Kommentar haben. Sie müssen am Anfang der Datei vor allen anderen Kommentaren oder Befehlen stehen. Diese Direktive wurde ursprünglich hinzugefügt, um das Escape-Zeichen so zu ändern, dass es Windows unterstützt:

# escape=`

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

Die erste Zeile ist eine Parser-Anweisung, mit der das Escape-Zeichen in ein Backtick geändert wird, sodass die Befehle COPY und RUN den umgekehrten Schrägstrich im Pfad verwenden können. Eine Parser-Direktive wird auch mit BuildKit verwendet, um den Frontend-Parser mit einer syntax -Zeile zu ändern. In der experimentelle Syntax finden Sie weitere Informationen zur Verwendung in der Praxis.

Bei einem mehrzeiligen Befehl werden die kommentierten Zeilen ignoriert, Sie müssen jedoch jede Zeile einzeln auskommentieren:

$ 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
64
BMitch

Verwenden Sie die # -Syntax für Kommentare

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

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

Dockerfile-Kommentare beginnen mit '#', genau wie Python. Hier ist ein gutes Beispiel (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

Format

Hier ist das Format des Dockerfile:

Wir können # zum Kommentieren von Zweck#Comment verwenden

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

In der obigen Datei wird beim Erstellen des Andockfensters die erste Zeile übersprungen und zur nächsten Zeile gewechselt, da wir sie mit # kommentiert haben.

0
Ben.Bean