Score:0

Docker COPY ล้มเหลวโดยไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว แต่ฉันรูทและสามารถเข้าถึงไฟล์ได้

ธง es

dockerfile อย่างง่ายเช่นนี้:

จากแมวตัวผู้:ล่าสุด
RUN cp -R /usr/local/tomcat/webapps.dist/* /usr/local/tomcat/webapps
คัดลอก /home/dockeradmin/*.war /usr/local/tomcat/webapps

คำสั่งที่สามล้มเหลวโดยบอกว่าไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว ฉันกำลังเรียกใช้สิ่งนี้ในฐานะรูทภายใน / รูท /home/dockeradmin และ *.war ไฟล์เป็นของผู้ใช้ dockeradmin แต่ในฐานะรูทฉันสามารถเข้าถึงได้

ฉันวิ่งได้ ls /home/dockeradmin/*.war ไม่มีปัญหาใดๆ

RUN cp /home/dockeradmin/*.war /usr/local/tomcat/webapps

ยังล้มเหลวด้วย cp: ไม่สามารถ stat '/home/dockeradmin/*.war': ไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว ฉันยังวิ่งได้ stat /home/dockeradmin/*.war ไม่มีปัญหาใดๆ ได้รับอนุญาต 664 เปลี่ยนเป็น 777 ยังไม่ไป

ถ้าฉันคัดลอก Dockerfile ไปที่ /home/dockeradmin และเปลี่ยนคำสั่ง:

คัดลอก ./*.war /usr/local/tomcat/webapps

มันใช้งานได้ดี

ไม่แน่ใจว่าเหตุใดตัวเลือกแรกจึงมีปัญหา

Score:4
ธง jp

นักเทียบท่า สำเนา <src> ถูกตีความว่าเป็นเส้นทางสัมพัทธ์กับบริบทการสร้างนักเทียบท่า ดู เอกสาร.

manu muraleedharan avatar
es flag
ใช่. นี่คือปัญหา เส้นทางทั้งหมดใน COPY ได้รับการแก้ไขโดยสัมพันธ์กับตำแหน่งที่คุณเรียกใช้นักเทียบท่า build จาก ดังนั้น /home/dockeradmin/*.war จึงกลายเป็น /root/home/dockeradmin/*.war เมื่อเรียกใช้งานจากโฟลเดอร์รูท และเส้นทางนั้นไม่มีอยู่จริง
Score:1
ธง pk

ปลายทางต้องลงท้ายด้วย /

เช่น: /usr/local/tomcat/webapps/ ถูกต้องไม่ใช่ /usr/local/tomcat/webapps

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา