ใน Dockerfile จะมีคำสั่ง COPY
และ ADD
ให้ใช้งานโดยทั้งสองคำสั่งนี้ก็คือ การนำข้อมูลจากไหนสักแห่ง <src>
เข้ามายังข้างใน Docker <destination>
ของเรา ตัวอย่างการใช้งาน
COPY hom* /mydir/ # เพิ่มไฟล์ที่ชื่อเริ่มต้นด้วย hom ไว้ใน /mydir
COPY hom?.txt /mydir/ # ? แทนด้วยตัวอักษรอะไรก็ได้ 1 ตัว เช่น "home.txt"
ADD hom* /mydir/
ADD hom?.txt /mydir/
ดูจากคำสั่งด้านบนคือทำงานแบบเดียวกันเลย อ่าวแล้วความแตกต่างระหว่าง COPY
และ ADD
มันต่างกันยังไง เรามาดูกัน
ตามชื่อมันคือการก็อปปี้ไฟล์ หรือโฟลเดอร์จากเครื่องเราไปยังข้างใน Docker ซึ่งมันทำแค่นี้จริงๆ
ADD
นั้นทำงานเหมือน COPY
แต่มันมีความสามารถพิเศษเพิ่มขึ้นมาอีก 2 อย่างก็คือ
.tar
แล้วมาใส่ใน Docker ได้ADD http://example.com/foobar /mydir/
ADD foobar.tar /mydir/
หากคิดอะไรไม่ออกก็ใช้ COPY
ไปเลย ADD
ผมไม่เคยได้ใช้เลยในสถานการณ์จริง