คำถามติดแท็ก docker-container

Docker Containers เป็นหัวใจหลักของแพลตฟอร์มนักเทียบท่าที่สามารถบรรจุโปรแกรมและแอปพลิเคชันและรันในสภาพแวดล้อมจำลองได้

18
คัดลอกไฟล์จากคอนเทนเนอร์ Docker ไปยังโฮสต์
ฉันกำลังคิดที่จะใช้นักเทียบท่าเพื่อสร้างการพึ่งพาของฉันบนเซิร์ฟเวอร์การรวมอย่างต่อเนื่อง (CI) ดังนั้นฉันจึงไม่ต้องติดตั้ง runtimes และไลบรารีทั้งหมดในเอเจนต์ด้วยตนเอง เพื่อให้บรรลุนี้ฉันจะต้องคัดลอกการสร้างสิ่งประดิษฐ์ที่สร้างขึ้นภายในภาชนะกลับเข้าไปในโฮสต์ เป็นไปได้ไหม

30
คัดลอกไฟล์จากโฮสต์ไปยังคอนเทนเนอร์ Docker
ฉันกำลังพยายามสร้างโซลูชันสำรองและกู้คืนสำหรับคอนเทนเนอร์ Docker ที่เราทำงานด้วย ฉันมีอิมเมจพื้นฐานที่ฉันสร้างขึ้นubuntu:baseและไม่ต้องการให้สร้างใหม่ทุกครั้งด้วยไฟล์ Docker เพื่อเพิ่มไฟล์ลงไป ฉันต้องการสร้างสคริปต์ที่ทำงานจากเครื่องโฮสต์และสร้างคอนเทนเนอร์ใหม่โดยใช้ubuntu:baseอิมเมจ Docker แล้วคัดลอกไฟล์ไปยังคอนเทนเนอร์นั้น ฉันจะคัดลอกไฟล์จากโฮสต์ไปยังคอนเทนเนอร์ได้อย่างไร

25
ฉันจะเข้าสู่เชลล์ของคอนเทนเนอร์ Docker ได้อย่างไร
ฉันเริ่มต้นทำงานกับ Docker ฉันใช้อิมเมจพื้นฐานของ WordPress และเขียนเรียงต่อกัน ฉันพยายามที่จะ ssh เป็นหนึ่งในภาชนะเพื่อตรวจสอบไฟล์ / ไดเรกทอรีที่สร้างขึ้นในช่วงเริ่มต้นสร้าง ฉันพยายามวิ่งdocker-compose run containername ls -laแต่นั่นก็ไม่ได้ทำอะไรเลย แม้ว่ามันจะเป็นเช่นนั้นฉันก็ควรมีคอนโซลที่ฉันสามารถสำรวจโครงสร้างไดเรกทอรีแทนที่จะใช้คำสั่งเดียว วิธีที่ถูกต้องในการทำเช่นนี้กับนักเทียบท่าคืออะไร?

14
วิธีจัดการกับที่จัดเก็บข้อมูลถาวร (เช่นฐานข้อมูล) ใน Docker
ผู้คนจัดการกับที่เก็บข้อมูลถาวรสำหรับคอนเทนเนอร์ Docker ของคุณอย่างไร ขณะนี้ฉันใช้วิธีนี้: สร้างภาพเช่นสำหรับ PostgreSQL แล้วเริ่มคอนเทนเนอร์ด้วย docker run --volumes-from c0dbc34fd631 -d app_name/postgres IMHO ที่มีข้อเสียคือฉันต้องไม่ลบคอนเทนเนอร์ (c0dbc34fd631 "โดยบังเอิญ) (โดยไม่ได้ตั้งใจ) แนวคิดอื่นคือการเมานต์ไดรฟ์ข้อมูลโฮสต์ "-v" ลงในคอนเทนเนอร์อย่างไรก็ตามหมายเลขผู้ใช้ภายในคอนเทนเนอร์ไม่จำเป็นต้องตรงกับหมายเลขผู้ใช้จากโฮสต์และจากนั้นสิทธิ์อาจยุ่งเหยิง หมายเหตุ: แทนที่จะ--volumes-from 'cryptic_id'คุณยังสามารถใช้--volumes-from my-data-containerที่my-data-containerเป็นชื่อที่คุณกำหนดให้เก็บข้อมูลอย่างเดียวเช่นdocker run --name my-data-container ...(ดูคำตอบที่ได้รับการยอมรับ)

23
อะไรคือความแตกต่างระหว่างอิมเมจ Docker และคอนเทนเนอร์?
เมื่อใช้นักเทียบท่าเราเริ่มต้นด้วยภาพฐาน เราบูตมันขึ้นสร้างการเปลี่ยนแปลงและการเปลี่ยนแปลงเหล่านั้นจะถูกบันทึกไว้ในเลเยอร์สร้างภาพอื่น ในที่สุดฉันก็มีภาพสำหรับอินสแตนซ์ PostgreSQL ของฉันและรูปภาพสำหรับเว็บแอปพลิเคชันของฉันการเปลี่ยนแปลงที่ยังคงมีอยู่ คอนเทนเนอร์คืออะไร

14
วิธีเข้าถึงพอร์ตโฮสต์จากคอนเทนเนอร์นักเทียบท่า
ฉันมีนักเทียบท่าที่ใช้งานเจนกินส์ ในฐานะส่วนหนึ่งของกระบวนการสร้างฉันจำเป็นต้องเข้าถึงเว็บเซิร์ฟเวอร์ที่เรียกใช้ในเครื่องบนเครื่องโฮสต์ มีวิธีโฮสต์เว็บเซิร์ฟเวอร์ (ซึ่งสามารถกำหนดค่าให้ทำงานบนพอร์ต) สามารถสัมผัสกับภาชนะเจนกินส์? แก้ไข: ฉันใช้นักเทียบท่าโดยกำเนิดบนเครื่อง Linux UPDATE: นอกจาก @larsks ตอบด้านล่างเพื่อรับที่อยู่ IP ของ Host IP จากเครื่องโฮสต์ฉันทำดังต่อไปนี้: ip addr show docker0 | grep -Po 'inet \K[\d.]+'

10
วิธีการสร้างคอนเทนเนอร์นักเทียบท่าใน docker-compose.yml
มีขอบเขตของบริการที่กำหนดไว้ใน docker-compose.yml บริการเหล่านี้เริ่มต้นแล้ว ฉันจำเป็นต้องสร้างใหม่เพียงหนึ่งสิ่งเหล่านี้และเริ่มต้นโดยไม่มีบริการอื่น ๆ ฉันรันคำสั่งต่อไปนี้: docker-compose up -d # run all services docker-compose stop nginx # stop only one. but it still running !!! docker-compose build --no-cache nginx docker-compose up -d --no-deps # link nginx to other services ในตอนท้ายฉันได้รับ nginx container เก่า โดยนักเทียบท่าเขียนไม่ได้ฆ่าภาชนะที่ใช้งานทั้งหมด!

3
วิธีกำหนดหน่วยความจำเพิ่มเติมให้กับ Docker container
เมื่อชื่ออ่านฉันพยายามกำหนดหน่วยความจำเพิ่มเติมให้กับคอนเทนเนอร์ของฉัน ฉันใช้รูปภาพจาก Docker hub ชื่อ "aallam / tomcat-mysql" ในกรณีที่เกี่ยวข้อง เมื่อฉันเริ่มต้นตามปกติโดยไม่มีแฟล็กพิเศษใด ๆ หน่วยความจำมีขีด จำกัด 2GB (แม้ว่าฉันจะอ่านว่าหน่วยความจำนั้นไม่ถูกผูกไว้หากไม่ได้ตั้งค่าไว้) นี่คือสถิตินักเทียบท่าของฉัน CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS ba57d6c9e9d2 0.22% 145.6 MiB / 1.952 GiB 7.29% 508 B / 508 B 0 B / 6.91 MB 68 ฉันลองตั้งค่าหน่วยความจำแบบชัด …

4
นักเทียบท่าวิ่ง: ทำไมต้องใช้ --rm (นักเทียบท่ามือใหม่)
ฉันกำลังลองเทียบท่าเป็นครั้งแรกและยังไม่มี "แบบจำลองทางจิต" ผู้เริ่มต้นทั้งหมด ตัวอย่างทั้งหมดที่ฉันกำลังดูมี--rmแฟล็กที่จะเรียกใช้เช่น docker run -it --rm ... docker container run -it --rm ... คำถาม: เหตุใดคำสั่งเหล่านี้จึงรวม--rmแฟล็ก ฉันจะคิดว่าถ้าฉันต้องประสบปัญหาในการตั้งค่าหรือดาวน์โหลดคอนเทนเนอร์ที่มีสิ่งดีๆอยู่ในนั้นทำไมจึงต้องลบออก ฉันต้องการเก็บไว้เพื่อใช้อีกครั้ง ดังนั้นฉันรู้ว่าฉันมีความคิดที่ผิดเกี่ยวกับนักเทียบท่า

9
กำลังใช้รูปภาพโดยคอนเทนเนอร์ที่หยุด
ฉันกำลังพยายามลบคอนเทนเนอร์นักเทียบท่าด้วยคำสั่งนี้: docker rmi <Image-Id> เห็นได้ชัดว่าฉันได้แทนที่ Image-Id ด้วย Id ที่ฉันใช้: docker images แต่ฉันเห็นข้อผิดพลาดด้านล่าง: Error response from daemon: conflict: unable to delete <Image-ID> (must be forced) - image is being used by stopped container xxxxxxxxxxx

13
Docker - คอนเทนเนอร์ไม่ทำงาน
ฉันเป็นมือใหม่สำหรับนักเทียบท่า ฉันพยายามเริ่มคอนเทนเนอร์ที่ออกแล้วดังนี้ ฉันแสดงรายการคอนเทนเนอร์ที่มีอยู่ทั้งหมดโดยใช้docker ps -aไฟล์. มีรายการดังต่อไปนี้: ฉันป้อนคำสั่งต่อไปนี้เพื่อเริ่มคอนเทนเนอร์ซึ่งอยู่ในขั้นตอนออกและเข้าไปในเทอร์มินัลของรูปภาพนั้น docker start 79b3fa70b51d docker exec -it 79b3fa70b51d /bin/sh กำลังส่งข้อผิดพลาดต่อไปนี้ FATA[0000] Error response from daemon: Container 79b3fa70b51d is not running docker start 79b3fa70b51dแต่เมื่อผมเริ่มต้นภาชนะที่ใช้ มันพ่น ID คอนเทนเนอร์เป็นเอาต์พุตซึ่งเป็นเรื่องปกติหากทุกอย่างทำงานได้ตามปกติ ฉันไม่แน่ใจว่าอะไรเป็นสาเหตุของข้อผิดพลาดนี้ ความคิดใด ๆ เกี่ยวกับสาเหตุและข้อเสนอแนะเกี่ยวกับเรื่องนี้จะเป็นประโยชน์อย่างมากสำหรับฉัน ขอบคุณล่วงหน้า.

2
Microservices ในการใช้งานนักเทียบท่า
เรากำลังเขียนบริการไมโครครั้งแรกของเราโดยใช้คอนเทนเนอร์ Docker โดยใช้ Amazon fargate เรามีข้อสงสัยมากมายเกี่ยวกับระดับการใช้งานโดยใช้ Spring Boot เราจะมีบริการไมโครหลายรายการในโครงการนี่เป็นวิธีปฏิบัติที่ดีที่เรากำลังเขียนบริการไมโครทั้งหมดในภาชนะเดียวหรือฉันต้องสร้างภาชนะ Docker แยกต่างหากสำหรับบริการไมโครแยกต่างหาก ด้วยวิธีที่คุ้มค่าเราใช้ตู้คอนเทนเนอร์เดียว แต่นั่นทำให้ปัญหากับโครงสร้างโครงการของเราในอนาคตหรือไม่ เราวางแผนที่จะปรับใช้แอปพลิเคชั่นใน AWS fargate และแอปพลิเคชันของเราจะมีตัวเลือกมากมายในการขยายในอนาคตและคาดว่าจะมีบริการไมโครแตกต่างกันประมาณ 100 ถึง 150 ในกรณีนี้จะมีประสิทธิภาพหรือไม่ถ้าเราอัพโหลด microservices เหล่านี้ทั้งหมดในตู้คอนเทนเนอร์ต่าง ๆ ด้วย?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.