ค้นหาเว็บไซต์

เรียกใช้ Docker Container ในพื้นหลัง (โหมดเดี่ยว)


ภายใต้ Docker นักพัฒนาอิมเมจสามารถกำหนดค่าเริ่มต้นของอิมเมจที่เกี่ยวข้องกับการทำงานเดี่ยวหรือเบื้องหน้า และการตั้งค่าที่เป็นประโยชน์อื่นๆ แต่เมื่อใช้คำสั่ง docker run [OPTIONS] คุณสามารถเพิ่มหรือลบล้างค่าเริ่มต้นของอิมเมจที่นักพัฒนาตั้งไว้ได้ ทำให้คุณควบคุมวิธีการทำงานของคอนเทนเนอร์ได้มากขึ้น

อ่านเพิ่มเติม: ctop – อินเทอร์เฟซยอดนิยมสำหรับการตรวจสอบคอนเทนเนอร์ Docker

ในบทความนี้ เราจะอธิบาย โหมดเบื้องหน้า และ โหมดพื้นหลัง ของการเรียกใช้คอนเทนเนอร์โดยย่อ และเรายังจะแสดงวิธีเรียกใช้ คอนเทนเนอร์ Dockerอีกด้วย > ในพื้นหลังในโหมดแยกออก

โหมดเบื้องหน้า (ค่าเริ่มต้น) เทียบกับโหมดพื้นหลัง/โหมดเดี่ยว

ก่อนที่จะเริ่ม คอนเทนเนอร์นักเทียบท่า ก่อนอื่นคุณต้องตัดสินใจว่าคุณต้องการเรียกใช้คอนเทนเนอร์ในโหมดเบื้องหน้าเริ่มต้นหรือในพื้นหลังในโหมดเดี่ยว .

ในโหมดเบื้องหน้า นักเทียบท่าสามารถเริ่มกระบวนการในคอนเทนเนอร์และต่อคอนโซลเข้ากับอินพุตมาตรฐาน เอาต์พุตมาตรฐาน และข้อผิดพลาดมาตรฐานของกระบวนการ

นอกจากนี้ยังมีตัวเลือกบรรทัดคำสั่งเพื่อกำหนดค่าเพิ่มเติม เช่น -t เพื่อจัดสรร pseudo-tty ให้กับกระบวนการ และ -i เพื่อเก็บ STDIN เปิดแม้ว่าจะไม่ได้แนบก็ตาม คุณยังสามารถแนบไปกับตัวอธิบายไฟล์อย่างน้อยหนึ่งตัว (STDIN, STDOUT และ/หรือ STDERR) โดยใช้ -a=[ ค่าที่นี่] แฟล็ก

ที่สำคัญ --rm option จะบอก Docker ให้ลบคอนเทนเนอร์ออกโดยอัตโนมัติเมื่อออก ตัวอย่างนี้แสดงวิธีการเริ่มต้นคอนเทนเนอร์นักเทียบท่าในโหมดเบื้องหน้า:

docker run --rm -ti -p 8000:80 -p 8443:443 --name pandorafms pandorafms/pandorafms:latest

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

หากต้องการเรียกใช้คอนเทนเนอร์ Docker ใน พื้นหลัง ให้ใช้ตัวเลือก -d=true หรือเพียงแค่ -d ขั้นแรก ให้หยุดการทำงานจาก โหมดเบื้องหน้า โดยกด [Ctrl+C] จากนั้นเรียกใช้งานใน โหมดเดี่ยว ดังที่แสดง:


docker run -d --rm -p 8000:80 -p 8443:443 --name pandorafms pandorafms/pandorafms:latest

หากต้องการแสดงรายการคอนเทนเนอร์ทั้งหมด ให้รันคำสั่งต่อไปนี้ (ค่าเริ่มต้นแสดงว่าเพิ่งทำงานอยู่)

docker ps -a

นอกจากนี้ หากต้องการแนบใหม่กับคอนเทนเนอร์ที่แยกออกมา ให้ใช้คำสั่ง dockerแนบ

docker attach --name pandorafms
OR
docker attach 301aef99c1f3

หากคุณต้องการหยุดคอนเทนเนอร์ด้านบนหรือคอนเทนเนอร์อื่นที่ทำงานอยู่ ให้ใช้คำสั่งต่อไปนี้ (แทนที่ 301aef99c1f3 ด้วย ID คอนเทนเนอร์จริง)

docker stop 301aef99c1f3

คุณอาจต้องการอ่านบทความ Docker ที่เกี่ยวข้องต่อไปนี้

  1. ติดตั้ง Docker และเรียนรู้การจัดการคอนเทนเนอร์ขั้นพื้นฐานใน CentOS และ RHEL 7/6 – ตอนที่ 1
  2. วิธีตั้งชื่อหรือเปลี่ยนชื่อคอนเทนเนอร์ Docker
  3. วิธีลบอิมเมจ Docker คอนเทนเนอร์และโวลุ่ม

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