Mig*_*ell 4 python docker dockerpy
使用dockerPython 模块,您可以像这样启动一个分离的容器:
import docker
client = docker.from_env()
container = client.containers.run(some_image, detach=True)
Run Code Online (Sandbox Code Playgroud)
我需要等待这个容器running(即container.status == 'running')。如果您在创建容器后立即检查状态,它将报告此情况,这意味着它尚未准备好:
>>> container.status
"created"
Run Code Online (Sandbox Code Playgroud)
API 确实提供了一种wait()方法,但这仅等待终止状态,例如exit和removed: https: //docker-py.readthedocs.io/en/stable/containers.html#docker.models.containers.Container.wait。
如何等到我的容器running用于dockerPython?
您可以使用带有超时的 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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4066 次 |
| 最近记录: |