Vì vậy, tôi có API nghỉ ngơi tốt đẹp này được triển khai trong Flask chạy trong docker và tôi đang suy nghĩ về việc nhân rộng. Đây là cách tôi đã tiến bộ:
CMD ["flask", "run", "--host=0.0.0.0"]
và
docker run -d -p 5000:5000 pyrest-alpine
hoạt động tốt
CMD ["gunicorn", "-w", "4", "-b", "0.0.0.0:5000", "pyrest:app"]
và
docker run -d -p 5000:5000 pyrest-alpine
Điều này cũng hoạt động tốt, Gunicorn cung cấp một số tỷ lệ thông qua mô hình công nhân prefork trong một container duy nhất bây giờ tôi muốn mở rộng quy mô thông qua sao chép bầy Docker với các kiểm tra sức khỏe trong đó cả hai
CMD ["gunicorn", "-w", "4", "-b", "0.0.0.0:5000", "pyrest:app"]
và
CMD ["flask", "run", "--host=0.0.0.0"]
làm việc tốt với
docker service create --name pyrest-swarm --replicas 2 -p 5000:5000 --health-interval=2s --health-timeout=10s --health-retries=3--health-cmd "curl 0.0.0.0:5000/status || exit 1" pyrest-alpine
Câu hỏi của tôi là Tôi vẫn sử dụng gunicorn khi sử dụng sao chép bầy docker?