Restart policy quyết định Docker có tự khởi động lại container khi nó thoát hay khi daemon khởi động lại. Đặt bằng --restart:
- no (mặc định) — không bao giờ tự restart.
- on-failure[:N] — chỉ restart khi container thoát với exit code khác 0 (lỗi); có thể giới hạn số lần thử
:N. - always — luôn restart khi thoát; và tự start lại khi Docker daemon khởi động lại. Nếu bị
docker stopthủ công thì đứng yên, nhưng daemon restart sẽ start lại. - unless-stopped — giống
alwaysnhưng nếu bạn chủ động stop container thì nó không tự start lại sau khi daemon khởi động lại.
bash
docker run --restart on-failure:3 myapp
docker run --restart unless-stopped myappChọn: on-failure cho job/worker cần thử lại khi lỗi; unless-stopped cho service nền dài hạn nhưng vẫn tôn trọng ý muốn tắt thủ công của bạn.
Lưu ý restart policy không áp dụng cho container chạy bằng docker run --rm.