我有compose.yml
文件:
api:
restart: on-failure
command: uvicorn app:app
...
jobs:
restart: on-failure
command: python job.py
...
job.py
:
import asyncio
from prometheus_client import start_http_server
async def background(sio):
await asyncio.gather(...) # <- there are many tasks with while True
start_http_server(5000)
asyncio.run(background(sio))
它工作正常。停止后一切都关闭。但当我重新启动系统,jobs
容器自动启动。为什么?! api
没有启动,但为什么jobs
启动?
2条答案
按热度按时间z6psavjg1#
我认为Docker只是试图运行系统关闭前运行的容器。也许可以尝试将
restart
策略更改为no
以防止在启动时重新启动?dgiusagp2#
根据文档,
unless-stopped
可能是正确的选择。