简体   繁体   English

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

[英]Create Docker container with Python SDK and execute commands in it

I'm trying to create one Docker container using Docker Python SDK, and keep executing some commands in it and get some results. 我正在尝试使用Docker Python SDK创建一个Docker容器,并继续在其中执行一些命令并获得一些结果。

I found in docs that I can run the container execute a command and then this container is gone 我在文档中发现可以运行容器执行命令,然后该容器消失了

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

or create a container and make it run as daemon 或创建一个容器并使它作为守护程序运行

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

but still I don't know how to keep the container running and send it commands to execute, Is this possible? 但我仍然不知道如何保持容器运行并发送命令以执行,这可能吗? or Am I missing something? 还是我错过了什么? or Am I misunderstand something? 还是我误会了什么?

I'm not sure to understand what you want to achieve. 我不确定要了解什么。 But if that helps, here is how I create a docker container from an image: 但是,如果有帮助,这是我如何从映像创建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)

Docs and examples are available here: https://docker-py.readthedocs.io/en/stable/containers.html 此处提供了文档和示例: https : //docker-py.readthedocs.io/en/stable/containers.html

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM