บางครั้ง กระบวนการบางอย่างติดขัดขณะเรียกใช้คอนเทนเนอร์ อาจเป็นเพราะปัญหากับเครือข่ายหรือเครื่องมือ Docker เพื่อจุดประสงค์นี้ การรีสตาร์ท Docker สามารถแก้ไขปัญหาประเภทนี้ได้
บทความนี้จะสาธิตวิธีรีสตาร์ท Docker โดยไม่หยุดคอนเทนเนอร์
ฉันจะรีสตาร์ท Docker โดยไม่หยุดคอนเทนเนอร์ได้อย่างไร
เมื่อผู้ใช้ Docker หยุดหรือรีสตาร์ท Docker ระบบจะรีสตาร์ท Docker Daemon เท่านั้น ไม่ใช่คอนเทนเนอร์ ใน Windows คอนเทนเนอร์จะดำเนินการเป็นกระบวนการแยกต่างหาก ดังนั้นคอนเทนเนอร์ที่รันอยู่จึงไม่สามารถยุติหรือหยุดทำงานเมื่อ Docker engine หยุดทำงาน:
สำหรับการสาธิต ให้ทำตามคำแนะนำที่ให้ไว้
ขั้นตอนที่ 1: สร้างไฟล์เขียน
ขั้นแรก สร้างไฟล์เขียนเพื่อเรียกใช้บริการหลายรายการในคอนเทนเนอร์ ตัวอย่างเช่น เราจะดำเนินการ “ go-img ” ที่บรรจุโครงการ Golang:
บริการ :
เว็บ :
ชื่อคอนเทนเนอร์ : เว็บ - คอนเทนเนอร์
ภาพ : ไป - img
สั่งการ : [ './เว็บเซิร์ฟเวอร์' ]
พอร์ต :
- '8080:8080/tcp'
โกลัง :
ภาพ : 'โกลัง:อัลไพน์'
ขั้นตอนที่ 2: เริ่ม Docker Container
จากนั้น สร้างและเริ่มคอนเทนเนอร์ในการเขียน Docker โดยใช้คำสั่งที่กำหนด ที่นี่, ' -d ” จะดำเนินการบริการหรือคอนเทนเนอร์ในพื้นหลัง:
> นักเทียบท่า - แต่งขึ้น - ง
สำหรับการยืนยันว่าคอนเทนเนอร์กำลังดำเนินการอยู่หรือไม่ ให้ไปที่พอร์ตที่ระบุของโลคัลโฮสต์ ตัวอย่างเช่น เราได้ไปที่ “ 8080 ”:
ขั้นตอนที่ 3: เปิด Windows PowerShell
เรียกใช้ Windows PowerShell ในฐานะผู้ดูแลระบบจากเมนูเริ่ม:
ขั้นตอนที่ 4: เริ่มบริการนักเทียบท่าใหม่
รีสตาร์ทเครื่อง Docker โดยเริ่มบริการ Docker ใหม่ด้วยความช่วยเหลือของ ' รีสตาร์ทบริการ Docker ' สั่งการ:
ตรวจสอบว่าบริการเริ่มต้นใหม่หรือไม่ผ่าน “ รับบริการนักเทียบท่า ' สั่งการ:
> รับ - นักเทียบท่าบริการที่นี่ คุณจะเห็นว่าเราได้รีสตาร์ท Docker สำเร็จแล้ว:
อีกครั้ง ไปที่พอร์ตโฮสต์ในเครื่องที่คอนเทนเนอร์ของคุณทำงานอยู่:
คุณจะเห็นว่าจากเอาต์พุตด้านบน คอนเทนเนอร์จะไม่ถูกยกเลิกเมื่อเราเริ่มบริการ Docker ใหม่
บทสรุป
ใน Windows เมื่อเริ่มบริการ Docker ใหม่ จะไม่ส่งผลกระทบหรือหยุดการทำงานของคอนเทนเนอร์ Docker เนื่องจากคอนเทนเนอร์ถูกดำเนินการเป็นกระบวนการแยกต่างหาก ขั้นแรก ให้เรียกใช้ Windows PowerShell ในฐานะผู้ดูแลระบบเพื่อเริ่มบริการ Docker ใหม่ หลังจากนั้นให้ดำเนินการ “ รีสตาร์ทบริการ Docker ” คำสั่งเพื่อเริ่มบริการ Docker ใหม่ บทความนี้ได้สาธิตวิธีรีสตาร์ท Docker โดยไม่หยุดคอนเทนเนอร์