Lệnh khởi động lại tất cả các vùng chứa docker đang chạy?


83

Làm thế nào để khởi động lại tất cả các vùng chứa docker đang chạy? Chủ yếu là tìm kiếm một lối tắt thay vì làm

docker khởi động lại containernerid1 containernerid2

Câu trả lời:


176

Chỉ cần chạy

docker restart $(docker ps -q)

Cập nhật

Đối với Docker 1.13.1sử dụng docker restart $(docker ps -a -q)như trong câu trả lời thấp hơn.


1
Tôi biết -adanh sách các vùng chứa không chạy, nhưng nó đại diện -qcho điều gì?
Jim Aho

từ docker ps --help: -q, --quiet Only display numeric IDs Bạn có thể nhận trợ giúp cho mọi lệnh của docker [command] --help
docker

82

Đối với tôi bây giờ của nó:

docker restart $(docker ps -a -q)

4
đáng kể cho mọi người, mà nó hoạt động chỉ trong PowerShell
stenly

18

Nếu bạn có docker-compose, tất cả những gì bạn cần làm là:

docker-compose restart 

Và bạn nhận được bản in đẹp từ tên của vùng chứa cùng với trạng thái khởi động lại (xong / lỗi)

Đây là hướng dẫn chính thức để cài đặt: https://docs.docker.com/compose/install/


14

Để chỉ bắt đầu các vùng chứa đã dừng:

docker start $(docker ps -a -q -f status=exited)

(Trên cửa sổ nó hoạt động trong Powershell).


1

Để bắt đầu tất cả các vùng chứa:

  docker restart $(docker ps -a -q)

Sử dụng sudo nếu bạn không được phép thực hiện việc này:

sudo docker restart $(sudo docker ps -a -q)

0

Để bắt đầu nhiều vùng chứa với id vùng chứa cụ thể duy nhất $ docker restart contianer-id1 container-id2 container-id3 ...


0

Chạy điều này với quyền root nếu không điều này có thể không hoạt động

  docker restart $(docker ps -a -q)

với quyền root

sudo docker restart $(sudo docker ps -a -q)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.