2017-09-19 79 views
2

我使用docker-py(create_container函數)來創建多個Docker容器,我的代碼工作正常,併爲我創建容器,並在一段時間後容器自動退出,但我想在這裏實現的是,我希望我的所有容器都處於運行模式的所需時間,例如我希望所有的容器處於運行模式5分鐘或10分鐘等等。我已經添加在命令參數中「睡眠」,但它不適合我,請幫助! 我沒有太多的Python經驗.. 我實現的功能是;Docker容器在docker-py庫中等待/運行時間

for i in range(0,5): 
    container = client.create_container(
        image='syed/syedclients:helloworld', 
        stdin_open=True, 
        tty=True, 
        command='/bin/bash saad.sh /bin/sleep 180', 
        name=hello-1,      
        volumes=volumes, 
        host_config=host_config, 
        environment=['VARIABLE=xyz123'], 
        detach=True, 
    ) 
    client.start(container) 

回答

2

這不是用python做的,但它更多的與Docker有關。容器只是執行你指定的內容,即:運行腳本並退出。因此,我建議你將睡眠命令添加到'saad.sh'腳本

+0

是的,這是一個很好的建議,但我不能在命令參數中的「create_container」函數中傳遞它? 有沒有辦法通過create_container()函數做到這一點? –

+0

@SyedSaadAhmed可以請你試試以下命令='bash -c「saad.sh &&/bin/sleep 180」') – Sergiu

+0

謝謝@Sergiu,第一次接近工作! 你說得對:**「這不是用python做的,而是用Docker做的,容器只是做你指定的,就是:運行腳本並退出,因此,我建議你添加睡眠命令到'saad.sh'腳本「**它爲我工作! –