Score:0

จะเข้าถึงระบบไฟล์ภายในคอนเทนเนอร์ Docker บน Ubuntu 20.04 ได้อย่างไร

ธง in

ฉันต้องเข้าถึงระบบไฟล์ของอิมเมจนักเทียบท่า แต่เมื่อฉันใช้เส้นทาง /var/lib/นักเทียบท่า นี่คือสิ่งที่ฉันได้รับ

buildkit/ คอนเทนเนอร์/ รูปภาพ/ เครือข่าย/ โอเวอร์เลย์2/ ปลั๊กอิน/ รันไทม์/ ฝูง/ tmp/ เชื่อถือ/ วอลุ่ม/

ฉันไม่สามารถหา อัฟดังนั้นฉันจะเข้าถึงไฟล์ sys ของอิมเมจนักเทียบท่าได้อย่างไร

Artur Meinild avatar
vn flag
ตามค่าเริ่มต้น ตอนนี้ Docker ใช้ระบบไฟล์ `overlay2` บนรูปภาพ แต่ลองอธิบายกรณีการใช้งานของคุณ: *ทำไม* คุณต้องเข้าถึงระบบไฟล์ภายในคอนเทนเนอร์ หากคุณอธิบายกรณีการใช้งานของคุณ การให้โซลูชันที่ดีที่สุดแก่คุณก็จะง่ายขึ้น
Score:2
ธง vn

นอกจากคำตอบของ MaestroGlanz แล้ว คุณยังสามารถส่งออกระบบไฟล์ทั้งหมดของคอนเทนเนอร์ Docker ไปยัง .tar คลังเก็บเอกสารสำคัญ:

user@machine $ docker export --output="container-name.tar" <ชื่อคอนเทนเนอร์>

และย้ำอีกครั้ง หากคุณต้องการเข้าถึงบางไฟล์หรือโฟลเดอร์ภายในคอนเทนเนอร์อย่างต่อเนื่อง คุณควรแมปโดยตรงเมื่อเริ่มต้นคอนเทนเนอร์ เช่นนี้:

user@machine $ docker run -d -v /path/to/data:/data <ชื่อคอนเทนเนอร์>

สิ่งนี้จะแมปไดเร็กทอรี /ข้อมูล ภายในคอนเทนเนอร์ไปยังไดเร็กทอรี /เส้นทาง/ถึง/ข้อมูล บนระบบไฟล์ในเครื่องของคุณ

Score:2
ธง in

โดยปกติ คุณจะไม่พบไฟล์ของคอนเทนเนอร์ในฮาร์ดไดรฟ์ของคุณ หากคุณต้องการเรียกดูไฟล์ คุณต้องมีเชลล์ภายในคอนเทนเนอร์:

user@machine $ docker exec - มัน <ชื่อคอนเทนเนอร์> /bin/bash

หากคุณต้องการเข้าถึงไฟล์ วิธีที่ดีที่สุดคือการคัดลอกจากคอนเทนเนอร์ด้วย

user@machine $ docker cp <ชื่อคอนเทนเนอร์>:/path/to/file /target/path/

หากคุณต้องการเข้าถึงไฟล์จริง คุณต้องเมานต์ไฟล์ลงในคอนเทนเนอร์เมื่อสร้าง

โพสต์คำตอบ

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