使用Python SDK创建Docker容器并在其中执行命令

时间:2017-10-06 15:00:20

标签: python docker dockerpy

我尝试使用Docker Python SDK创建一个Docker容器,并继续在其中执行一些命令并获得一些结果。

我在docs中发现我可以运行容器执行一个命令,然后这个容器就不用了

import docker
client = docker.from_env()
client.containers.run('alpine', 'echo hello world')

或创建一个容器并使其作为守护程序运行

container = client.containers.run('bfirsh/reticulate-splines',
                                  detach=True)

但我仍然不知道如何保持容器运行并发送命令来执行,这可能吗?还是我错过了什么?还是我误解了什么?

1 个答案:

答案 0 :(得分:0)

我不确定你想要达到什么目标。但如果这有帮助,这就是我如何从图像创建一个docker容器:

import docker as docker_sdk


docker = docker_sdk.from_env()

docker.containers.run(image='name_of_your_image',                                                                                                                                                      
                      command='/usr/sbin/your_command --arg 123 --abc',                                                                                                                              
                      name=CONTAINER_NAME,                                                                                                                                              
                      hostname='host',                                                                                                                                                   
                      volumes={                                                                                                                                                         
                          '/container_directory': {                                                                                                                                       
                              'bind': '/host/home/user/directory',                                                                                                                             
                              'mode': 'rw'                                                                                                                                              
                          }                                                                                                                                                             
                      },                                                                                                                                                                
                      detach=True)

可在此处获取文档和示例:https://docker-py.readthedocs.io/en/stable/containers.html