2016-04-19 16 views
90

Tôi đang viết một Dockerfile và tôi muốn biết liệu có cách nào để đưa ra nhận xét trong tệp này không? Docker có tùy chọn nhận xét có phần còn lại của một dòng và bỏ qua nó không?Làm cách nào để nhận xét trong Dockerfile?

Trả lời

0

Ghi chú của trình khởi chạy bắt đầu bằng '#' giống như python. Đây là một ví dụ điển hình: https://github.com/kstaken/dockerfile-examples/blob/master/mongodb/Dockerfile

# Install a more up to date 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"] 
14

Sử dụng cú pháp # để lấy ý kiến ​​

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

# My comment here 
RUN echo 'we are running some cool things' 
+1

nhưng chúng tôi có thể nhận xét trên cùng một dòng như RUN, COPY, MAINTAINER, v.v. không? –

+0

@AlexanderMills Có theo các tài liệu tôi liên kết với các bình luận nội tuyến là hợp lệ 'ADD. $ foo # ADD./bar' – edhurtig

14

Như những người khác đã đề cập, ý kiến ​​được tham chiếu với một #documented here . Tuy nhiên, không giống như một số ngôn ngữ, # phải ở đầu dòng. Nếu chúng xảy ra một phần qua đường thẳng, chúng được hiểu là một đối số và có thể dẫn đến hành vi bất ngờ.

# This is a comment 

COPY test_dir target_dir # this is not a comment, it is an arg to COPY 

RUN echo hello world # this is an argument to RUN but the shell may ignore it 

Cũng cần lưu ý rằng parser directives gần đây đã được thêm vào Dockerfile có cú pháp giống như nhận xét. Họ cần xuất hiện ở đầu tệp, trước bất kỳ nhận xét hoặc lệnh nào khác. Hiện nay, chỉ duy nhất là để thay đổi các ký tự thoát để hỗ trợ các cửa sổ:

# escape=` 

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

Dòng đầu tiên, trong khi nó dường như là một lời nhận xét, là một chỉ thị phân tích cú pháp để thay đổi các ký tự thoát đến một backtick sao cho COPYRUN lệnh có thể sử dụng dấu gạch chéo ngược trong đường dẫn.

Các vấn đề liên quan