สั่ง Stop container หลายๆ ตัวพร้อมกันด้วยคำสั่งเดียว12 December 2019DevOps

สั่ง Stop container หลายๆ ตัวพร้อมกันด้วยคำสั่งเดียว

Docker สามารถที่จะ Stop containers ได้โดยการระบุชื่อ container ไปตรงๆ ได้เลย เช่น docker container stop container_name หรือระบุเป็น ID docker container stop container_id แต่มันสามารถ Stop ได้ทีละตัวเท่านั้น

ถ้าเกิดเรามี Container หลายตัวที่มีชื่อคล้ายกัน เช่น nginx-1, nginx-2 หรือ nginx-3 แล้วเราต้องการ Stop ที่เดียวเลยทำไงดี? ก็พิมพ์

$ docker container stop nginx-1
$ docker container stop nginx-2
$ docker container stop nginx-3

ไปสามรอบเลยไง… ฮาๆ

จะบ้าหรอ…ในวันนี้เราขอเสนอคำสั่งสั้นๆ นำไปใช้งานได้เลย ดังนี้

ดู Contiainers ที่ทำงานก่อน

$ docker container ls
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
385f96392393        nginx:1.15-alpine   "nginx -g 'daemon of…"   12 minutes ago      Up 12 minutes       80/tcp              nginx-3
0d4eb386dfc5        nginx:1.15-alpine   "nginx -g 'daemon of…"   12 minutes ago      Up 12 minutes       80/tcp              nginx-2
0e58414970f0        nginx:1.15-alpine   "nginx -g 'daemon of…"   12 minutes ago      Up 10 minutes       80/tcp              nginx-1

จะเห็นว่ามีอยู่ 3 อันที่ทำงานอยู่

Stop containers แบบใช้ wild card pattern

ทำการ Stop มันซะด้วยคำสั่ง

$ docker container stop $(docker container ls -q --filter name=nginx*)

โดย name=nginx* ให้เปลี่ยน nginx ได้ตามชื่อ Contianer ที่ต้องการเลย

Happy docker 🙂

ก่อนหน้า
ถัดไป