Saya menjalankan fastapi dengan unicorn di shell. Tetapi ketika saya menjalankannya di dalam Docker itu masih mengeluarkan output ke shell, bukan buron seperti ini: Info: Mulai Proses Server [1] Info: ...

0
Jenia Ivanov 5 April 2021, 20:24

2 jawaban

Jawaban Terbaik

Dari docker run --help:

Options:
  -d, --detach                         Run container in background and print container ID

Jadi, Anda bisa pergi untuk docker run -d -p 5000:5000 example00. Untuk memeriksa apakah wadah Anda dimulai dengan benar, Anda dapat menggunakan ID kontainer yang dikembalikan oleh -d Bendera dan jalankan:

docker logs -f <container-ID>

Dan berharap untuk melihat log Anda (-f bendera berarti Follow log output):

    INFO:     Started server process [1]
    INFO:     Waiting for application startup.
    INFO:     Application startup complete.
    INFO:     Uvicorn running on http://127.0.0.1:5000 (Press CTRL+C to quit)

Dalam hal ini, CTRL+C Anda tidak akan menghentikan server fastapi, itu hanya akan membatalkan perintah docker logs -f. Jika Anda ingin menghentikan wadah yang sedang berjalan, gunakan docker stop <container-ID> sebagai gantinya.

1
Vitor Bertulucci Borges 5 April 2021, 17:57

Anda perlu menggunakan -d bendera

docker run -d -p 5000:5000 example00
3
Tarun Lalwani 5 April 2021, 17:44