ฉันกำลังเขียน Dockerfile มีวิธีในการแสดงความคิดเห็นในไฟล์นี้หรือไม่?
นักเทียบท่ามีตัวเลือกความคิดเห็นที่ใช้เวลาที่เหลือของบรรทัดและละเว้นหรือไม่?
ฉันกำลังเขียน Dockerfile มีวิธีในการแสดงความคิดเห็นในไฟล์นี้หรือไม่?
นักเทียบท่ามีตัวเลือกความคิดเห็นที่ใช้เวลาที่เหลือของบรรทัดและละเว้นหรือไม่?
คำตอบ:
คุณสามารถใช้เป็น # เริ่มต้นของเส้นที่จะแสดงความคิดเห็นบรรทัด
# Everything on this line is a comment
หมายเหตุ: #เป็นความคิดเห็นสามารถใช้ได้ที่จุดเริ่มต้นของบรรทัดเท่านั้น
เป็นคนอื่นได้กล่าวถึงความคิดเห็นที่มีการอ้างอิงด้วย#
และได้รับการบันทึกไว้ที่นี่ อย่างไรก็ตามแตกต่างจากบางภาษา#
จะต้องอยู่ที่จุดเริ่มต้นของบรรทัด หากเกิดขึ้นระหว่างทางส่วนหนึ่งจะถูกตีความว่าเป็นอาร์กิวเมนต์และอาจส่งผลให้เกิดพฤติกรรมที่ไม่คาดคิด
# 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เพิ่งถูกเพิ่มไปยัง Dockerfile ซึ่งมีไวยากรณ์เหมือนกับข้อคิดเห็น พวกเขาจะต้องปรากฏที่ด้านบนของไฟล์ก่อนที่จะแสดงความคิดเห็นหรือคำสั่งอื่น ๆ เริ่มแรกคำสั่งนี้ถูกเพิ่มเข้ามาเพื่อเปลี่ยนตัวละครยกเว้นเพื่อรองรับ Windows:
# escape=`
FROM microsoft/nanoserver
COPY testfile.txt c:\
RUN dir c:\
บรรทัดแรกในขณะที่ดูเหมือนว่าเป็นความคิดเห็นเป็นคำสั่ง parser เพื่อเปลี่ยนอักขระหลบหนีเป็น backtick เพื่อให้คำสั่ง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
#
หรือเฉพาะบรรทัดแรกหรือไม่ การทดลองแสดงให้เห็นว่ามันเป็นอดีต คำตอบนี้อาจได้รับการอัปเดตเพื่อให้ครอบคลุมเช่นกัน (ทำให้ดียิ่งขึ้น)
ใช้#
ไวยากรณ์สำหรับความคิดเห็น
จาก: https://docs.docker.com/engine/reference/builder/#format
# My comment here
RUN echo 'we are running some cool things'
ADD . $foo # ADD . /bar
ความคิดเห็น Dockerfile เริ่มต้นด้วย '#' เช่นเดียวกับ Python นี่เป็นตัวอย่างที่ดี (ตัวอย่างkstaken / dockerfile- ):
# 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
เลิกใช้แล้วตอนนี้แนะนำให้ใช้ป้ายกำกับ:LABEL maintainer="foo@abc.com"
นี่คือรูปแบบของ Dockerfile:
เราสามารถใช้#
เพื่อแสดงความคิดเห็น#Comment
ตัวอย่างเช่น
#FROM microsoft/aspnetcore
FROM microsoft/dotnet
COPY /publish /app
WORKDIR /app
ENTRYPOINT ["dotnet", "WebApp.dll"]
จากไฟล์ด้านบนเมื่อเราสร้างนักเทียบท่ามันข้ามบรรทัดแรกและไปที่บรรทัดถัดไปเพราะเราได้แสดงความคิดเห็นโดยใช้ #
นักเทียบท่าถือว่าบรรทัดที่ขึ้นต้นด้วย #เป็นความคิดเห็นยกเว้นบรรทัดนั้นเป็นคำสั่ง parser ที่ถูกต้อง เครื่องหมาย # ที่ใดก็ได้ในบรรทัดถือเป็นอาร์กิวเมนต์
ตัวอย่าง:
# this line is a comment RUN echo 'we are running some # of cool things'