Yanıtlar:
Sen edebilirsiniz hattını yorum yapmak hattının başlarken # kullanın .
# Everything on this line is a comment
Not: # yorum olarak yalnızca satırın başında kullanılabilir .
Diğerlerinin de belirttiği gibi, yorumlara a ile atıfta bulunulur #
ve burada belgelenir . Ancak, bazı dillerden farklı #
olarak, satırın başında olmalıdır. Çizgi boyunca kısmen ortaya çıkarlarsa, bir argüman olarak yorumlanırlar ve beklenmedik davranışlara neden olabilirler.
# 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
Ayrıca, ayrıştırıcı yönergelerinin Dockerfile'a bir yorumla aynı sözdizimine sahip olan son zamanlarda eklendiğine dikkat edilmelidir . Diğer yorum veya komutlardan önce dosyanın üstünde görünmeleri gerekir. Başlangıçta, bu yönerge Windows'u desteklemek için çıkış karakterini değiştirmek için eklendi:
# escape=`
FROM microsoft/nanoserver
COPY testfile.txt c:\
RUN dir c:\
İlk satır, bir yorum gibi görünse de, COPY
ve RUN
komutlarının yoldaki ters eğik çizgiyi kullanabilmesi için çıkış karakterini bir backtick olarak değiştirmek için bir ayrıştırıcı direktifidir . Ön uç ayrıştırıcıyı bir syntax
satırla değiştirmek için BuildKit ile bir ayrıştırıcı yönergesi de kullanılır . Deneysel söz dizimine bakın uygulamada nasıl kullanıldığı hakkında daha fazla ayrıntı için .
Çok satırlı bir komutla, açıklanan satırlar yoksayılır, ancak her satırı ayrı ayrı yorumlamanız gerekir:
$ 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
#
mı yoksa yalnızca ilk satır mı başlaması gerekir ? Bir deney bunun birincisi olduğunu gösteriyor. Bu cevap da bunu kapsayacak şekilde güncellenebilir (daha da harika hale getirir).
Kullan #
Yorumlar sözdizimini
Gönderen: https://docs.docker.com/engine/reference/builder/#format
# My comment here
RUN echo 'we are running some cool things'
ADD . $foo # ADD . /bar
Dockerfile yorumları tıpkı Python gibi '#' ile başlar. İşte iyi bir örnek ( kstaken / dockerfile-örnekler ):
# 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"]
MAINTAINER
kullanımdan kaldırıldı, şimdi etiket kullanmanız tavsiye ediliyor:LABEL maintainer="foo@abc.com"
Docker, geçerli bir ayrıştırıcı yönergesi olmadığı sürece # ile başlayan satırları yorum olarak ele alır . Satırın başka herhangi bir yerindeki # işareti argüman olarak değerlendirilir.
örnek kod:
# this line is a comment RUN echo 'we are running some # of cool things'
Çıktı:
we are running some # of cool things
İşte biçimi Dockerfile:
#
Yorum yapmak amacıyla kullanabiliriz #Comment
örneğin
#FROM microsoft/aspnetcore
FROM microsoft/dotnet
COPY /publish /app
WORKDIR /app
ENTRYPOINT ["dotnet", "WebApp.dll"]
Docker'ı inşa ettiğimizde yukarıdaki dosyadan, ilk satırı atlar ve bir sonraki satıra gider, çünkü #