使用Python的docker
模块,您可以像这样启动一个分离的容器:
import docker
client = docker.from_env()
container = client.containers.run(some_image, detach=True)
我需要等待这个容器是running
(即container.status == 'running'
)。如果您在创建容器后立即检查状态,则会上报此信息,表示容器尚未就绪:
>>> container.status
"created"
该接口确实提供了wait()
方法,但该方法只等待终止状态,如exit
和removed
:https://docker-py.readthedocs.io/en/stable/containers.html#docker.models.containers.Container.wait。
我怎么能等到我的容器是使用Python的docker
的running
?
发布于 2020-08-27 11:37:49
您可以使用带有超时的while循环
import docker
from time import sleep
client = docker.from_env()
container = client.containers.run(some_image, detach=True)
timeout = 120
stop_time = 3
elapsed_time = 0
while container.status != 'running' and elapsed_time < timeout:
sleep(stop_time)
elapsed_time += stop_time
continue
https://stackoverflow.com/questions/63608744
复制相似问题