คำถามติดแท็ก containers

ใช้สำหรับคำถามทั่วไปเกี่ยวกับคอนเทนเนอร์ที่ไม่อยู่ภายใต้เทคโนโลยีคอนเทนเนอร์ที่เฉพาะเจาะจงเช่น Docker, LXC, FreeBSD Jails, OpenBSD sysjails, Solaris Containers, WPARs และอื่น ๆ นอกจากนี้ยังใช้ในกรณีที่เทคโนโลยีเฉพาะไม่เกี่ยวข้องกับคำถาม

5
เหตุใดจึงแนะนำให้เรียกใช้กระบวนการเดียวเท่านั้นในคอนเทนเนอร์
ในการโพสต์บล็อกจำนวนมากและความคิดเห็นทั่วไปมีคำพูดที่ว่า "กระบวนการเดียวต่อคอนเทนเนอร์" ทำไมกฎนี้ถึงมีอยู่? ทำไมไม่เรียกใช้ ntp, nginx, uwsgi และกระบวนการอื่น ๆ ในคอนเทนเนอร์เดียวที่ต้องมีกระบวนการทั้งหมดเพื่อให้ทำงานได้? โพสต์บล็อกที่กล่าวถึงกฎนี้: "Single-process-per-container เป็นรูปแบบการออกแบบที่แนะนำสำหรับแอปพลิเคชัน Docker" "นักเทียบท่าใช้สำหรับสร้างคอนเทนเนอร์แบบกระบวนการเดียวหรือบริการเดียวเท่านั้น" "ดีกว่าที่จะใช้หนึ่งกระบวนการต่อคอนเทนเนอร์" "เรียกใช้บริการเดียวเป็นคอนเทนเนอร์" "หนึ่งกระบวนการต่อตู้คอนเทนเนอร์" "หนึ่งกระบวนการต่อคอนเทนเนอร์"

3
อะไรคือเหตุผลที่นักเทียบท่าไม่ควรใช้กับฐานข้อมูล
ฉันมีการสนทนากับเพื่อนเกี่ยวกับกรณีการใช้งานสำหรับนักเทียบท่า ผู้ชายคนหนึ่งในทีมต้องการใช้ Docker สำหรับทุกสิ่ง - เหมือนเสื้อคลุมกระบวนการยูนิกซ์ทั่วไป อีกคนคิดว่านักเทียบท่าควรใช้กับแอปพลิเคชั่นไร้สัญชาติเช่นMicroservicesและแอพสไตล์AWS Lambdaเท่านั้น เราได้รับการออกแบบทางวิศวกรรมเพื่อพิสูจน์แนวคิดสำหรับทั้งคู่ ในกลุ่มนักเทียบท่าของเราเรามีไดรฟ์ที่ใช้ร่วมกันซึ่งจะถูกเมาท์เมื่อโฮสต์ Docker ถูกเมาต์และถ้าฐานข้อมูลในคอนเทนเนอร์ถูกเมาท์ เพื่อนของฉันยังคงยึดติดกับตำแหน่งของเขาแม้จะแสดงหลักฐานที่ตรงกันข้าม (เขายังให้เหตุผลว่านักเทียบท่าเพิ่มความเสี่ยงที่ไม่จำเป็นโดยการเพิ่มความซับซ้อนให้กับสแต็ก) ฉันพยายามฟังและเข้าใจมุมมองของเขาทั้งในการแสดงความเห็นอกเห็นใจ แต่ก็ให้เหตุผลที่ดีกว่ากับเขาด้วย (เราทุกคนเข้ากันได้ดี - นี่เป็นการผสมผสานระหว่างการพูดคุยอย่างสนุกสนานและจริงจัง) คำถามที่อยู่เบื้องหลังคำถามคือ: เป็นฐานข้อมูลวัว ? ความคิดเห็นนี้แสดงให้เห็นว่าการสำรองข้อมูลอัตโนมัติและกลยุทธ์การดึงข้อมูลที่ดีสำหรับฐานข้อมูลของคุณนั้นแยกไม่ออกจากเซิร์ฟเวอร์วัว คำถามของฉันคืออะไรเหตุผลที่นักเทียบท่าไม่ควรใช้สำหรับฐานข้อมูลคืออะไร แก้ไข: มีคนขอให้ฉันชี้แจงคำศัพท์ของฉัน ฉันสมมติว่าแอ็พพลิเคชันฐานข้อมูลอยู่ในคอนเทนเนอร์และหน่วยเก็บนั้นอยู่ในไดรฟ์ข้อมูล สิ่งที่ฉันหมายถึงคือ RDBMS อยู่ในคอนเทนเนอร์และที่เก็บฐานข้อมูลอยู่ในโวลุ่ม นักวิจารณ์บางคนแนะนำว่าไดรฟ์ข้อมูลไดรฟ์ข้อมูลนักเทียบท่าจะไม่ทำงานกับฐานข้อมูลที่เขียนได้ดีมาก (หรือบางสิ่งบางอย่างเพื่อผลกระทบนั้น) คุณช่วยขยายที่ได้ไหม

4
คอนเทนเนอร์คืออะไร
มีคำถามบางอย่างเกี่ยวกับตู้คอนเทนเนอร์เช่น: เครื่องมือการจัดการการกำหนดค่ามีบทบาทอย่างไรในโครงสร้างพื้นฐานที่ไม่เปลี่ยนแปลง orchestration คอนเทนเนอร์มีปัญหาใดบ้าง Simple CI / CD Container ใน AWS คำถามของฉัน : อะไรคือ "คอนเทนเนอร์" (ในบริบทของ DevOps) ทำไมถึงใช้

2
ฉันควรจะกำหนดค่าแอพพลิเคชั่นของฉันที่ไหน?
ฉันได้อ่านเมื่อเร็ว ๆ นี้การอภิปรายเกี่ยวกับ " คุณสมบัติที่ควรขึ้นอยู่กับสภาพแวดล้อมที่ถูกเก็บไว้? " วิธีแบบคลาสสิกคือการมีไฟล์คุณสมบัติหลายไฟล์หนึ่งไฟล์ต่อสภาพแวดล้อมและขึ้นอยู่กับตัวแปรสภาพแวดล้อม (DEV, PROD ... ) คุณเลือกตำแหน่งที่จะอ่านเมื่อเริ่มต้นแอปพลิเคชัน (เช่นเดียวกับโปรไฟล์สปริง) ในทางกลับกันถ้าคุณใช้คอนเทนเนอร์เพื่อปรับใช้แอปพลิเคชันของคุณกล่าวว่าการกำหนดค่าประเภทนี้ควรมาจากสภาพแวดล้อมของตัวเอง (โดยใช้ตัวแปรสภาพแวดล้อมที่แอปพลิเคชันอ่าน) ดังนั้นภาพจะไม่เปลี่ยนแปลงระหว่างสภาพแวดล้อม ข้อดีและข้อเสียของแต่ละวิธีคืออะไร มีวิธี "ดีที่สุด" สำหรับสถานการณ์จำลองคอนเทนเนอร์หรือไม่


2
ความแตกต่างระหว่าง chroot และ Docker
ฉันไม่เข้าใจความแตกต่างระหว่างนักเทียบท่าและ chroot ใช่มันเป็นเรื่องที่ดีในแง่ของบรรจุภัณฑ์รีจิสทรี แต่อย่างใดฉันได้รับความรู้สึกมัน chroot เพียงกับระฆังและนกหวีดพิเศษ ฉันรู้ว่าฉันขาดอะไรไป มันคงจะดีถ้าได้รู้ว่าพวกมันแตกต่างและต้องการนักเทียบท่าถ้า chroot สามารถทำอะไรที่คล้ายกันได้ ฉันไม่สามารถหาChroot Vs Docker ได้ชัดเจนพอ

3
Simple CI / CD container ใน AWS
ฉันกำลังใช้ AWS Code Pipeline, Code Build เพื่อสร้างคอนเทนเนอร์ Docker ใหม่และผลักดันมันไปยัง ECR แอปพลิเคชันของฉันเป็นแบบเรียบง่ายแบบ Single-Forward สิ่งที่จะลดความเสียดทานให้น้อยลงเพื่อดึง Container ที่ใช้อยู่ในปัจจุบันออกมาและเรียกใช้ Container ใหม่จากรีจีสทรี ECS (เอาท์พุตของ Code Build ผ่าน Code Pipeline) ฉันลอง CloudFormation ด้วยข้อมูลผู้ใช้ EC2, สคริปต์ที่กำหนดเองในด้านหนึ่งและ CloudFormation กับ ECS พร้อมคำจำกัดความของงานในอีกด้านหนึ่ง (ยังไม่สำเร็จ) ฉันรู้สึกว่าจะต้องมีวิธีที่ชัดเจนและเรียบง่ายกว่า

3
บน Azure ฉันจะรันคอนเทนเนอร์ Docker อายุสั้นตามกำหนดเวลาได้อย่างไร
ฉันมีสคริปต์เชลล์ Unix ที่ค่อนข้างง่ายบรรจุในอัลไพน์ Linux Docker container ที่โฮสต์ในรีจิสตรีคอนเทนเนอร์ Azure VM เรียกใช้สคริปต์นี้ด้วย cron: docker login <snip> docker pull example.com/bar:latest docker run example.com/bar:latest ฉันสามารถทำได้โดยไม่ใช้ VM และใช้บริการ Azure แทนอาจมีตัวจัดกำหนดการบางอย่างที่ทำงานใน Azure Container Instance หรือไม่ แรงจูงใจของฉันไม่ต้องการรักษาและจ่ายให้กับ VM

2
วิธีการตรวจสอบกระบวนการหลักที่เสียชีวิตในตู้เทียบท่า?
บางครั้งคุณต้องตรวจสอบภาชนะบรรจุซึ่งหยุดทำงานหรือภาชนะบรรจุซึ่งหลังจากการเริ่มต้นการตายอย่างรวดเร็วและหยุดลง docker exec -ti <id> bash ใช้งานได้กับการเรียกใช้คอนเทนเนอร์เท่านั้นเมื่อเสร็จสิ้นพรอมต์ bash จะสิ้นสุดลงเช่นกัน ด้วยdocker startคุณไม่สามารถให้คำสั่งที่แตกต่างกันและถ้าคอนเทนเนอร์ตายทันทีอีกครั้งคุณจะไม่มีเวลาพอที่จะเข้าไปในคอนเทนเนอร์และทำการตรวจสอบของคุณ เราสามารถทำได้docker commitแล้วdocker runในภาพใหม่ด้วยคำสั่งที่แตกต่างกัน แต่ฉันสงสัยว่ามีทางเลือกอื่น ๆ หมายเหตุ : docker logsเพียงแค่คืนสิ่งที่แอพพลิเคชั่นพิมพ์ไปยัง stdout / stderr นั่นอาจไม่เพียงพอที่จะคิดออกว่าปัญหาคืออะไร

2
การวางแผนความจุของนักเทียบท่าคอนเทนเนอร์
ฉันกำลังเรียกใช้แอปพลิเคชันของฉันบนเครื่องเสมือน 4 เครื่องที่มี CPU เสมือน 3.2 3.2 GHz และ 32 GB อย่างไรก็ตามฉันจะแยกกระบวนการเป็นภาชนะแยกต่างหาก ฉันไม่แน่ใจว่ามีจำนวนตู้คอนเทนเนอร์ที่จะเรียกใช้ต่อโฮสต์ หมายเลขทั่วไปคืออะไร ตัวอย่างเช่นวิธีที่อัตราส่วน VM ต่อเซิร์ฟเวอร์เปล่าอัตรา 1:10 โดยทั่วไปลิงก์ใด ๆ ในคุณลักษณะที่ต้องพิจารณากรอบการตัดสินใจที่ต้องพิจารณาหรือประสบการณ์จะช่วยได้!

2
รวมนักเทียบท่า Swarm และ Kubernetes
บริษัท ของฉันพยายามเล่นให้ทันในพื้นที่ DevOps ฉันได้ทำการค้นคว้ามากมายเกี่ยวกับการจัดเก็บแอปพลิเคชันและระบบ orchestration ที่สอดคล้องกับมัน ฉันเจอบทความ (สิ่งที่ฉันหวังว่าจะได้รับการบันทึก) ที่พวกเขากำลังพูดถึงการรวม Swarm เข้ากับ Kubernetes เพื่อรับฟังก์ชั่นที่ดีขึ้น ในบทความนี้พวกเขาไม่ได้กำหนดสิ่งที่พวกเขาได้รับจากการทำเช่นนั้น ฉันสงสัยว่าจะให้ประโยชน์อะไรบ้าง การเพิ่มเลเยอร์พิเศษของความซับซ้อนกำลังจะให้ผลตอบแทนมากหรือไม่? แก้ไข:ฉันกำลังมองหามืออาชีพด้านเทคนิค / แย้งของ KISS เป็นคำขวัญที่ดี แต่ไม่ได้โต้เถียงกับ CEO หรือ Board ของคุณ ฉันเกือบจะเป็นบวกที่เราจะเลือกนักเทียบท่าสำหรับตู้คอนเทนเนอร์และ Swarm สำหรับการบรรเลงเพลง อย่างไรก็ตามฉันต้องการเห็น Kubernetes ในพื้นที่ของเราดังนั้นข้อเสนอที่คุณสามารถผสานเทคโนโลยีเข้าด้วยกันเพื่อการแก้ปัญหาที่มีประสิทธิภาพยิ่งขึ้นก็เป็นที่สนใจของฉัน

2
เครื่องมือการจัดการการกำหนดค่ามีบทบาทอย่างไรในโครงสร้างพื้นฐานที่ไม่เปลี่ยนแปลง
หากฉันใช้ไม่เปลี่ยนรูปเซิร์ฟเวอร์ / ภาชนะบรรจุที่ฉันจะต้องเครื่องมือเช่นเชฟหุ่นกระบอกเบิ้ลหรือเกลือ? เครื่องมือจัดการการกำหนดค่าเหล่านั้นได้รับการออกแบบมาเพื่อสร้างการกำหนดค่าจากนั้นดูแลรักษา หากฉันปรับใช้เซิร์ฟเวอร์ที่ไม่เปลี่ยนรูปแบบฉันควรใช้เครื่องมือการจัดการการกำหนดค่าสำหรับการจัดเตรียมเริ่มต้นเท่านั้นหรือไม่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.