通过docker.py运行命令

时间:2019-02-10 12:36:04

标签: python-3.x docker flask

我正在尝试通过Docker容器运行命令。我能够成功创建并打印容器日志到控制台,但是,我希望能够在连接到容器后运行命令。我在创建用于管理容器的基于Web的控制台时使用Flask。我已将其连接到容器,但要在连接后发送命令,而不要在创建容器时发送命令。

client.containers.run(“ ubuntu:latest”,“ echo hello world”)将创建容器并回显hello world,但是我想要它,因此一旦容器已经创建,我就能够发送命令。我正在使用来自Docker的官方docker.py库。

@DockerDeploy.route('/dashboard')
def dashboard():
    container = client.containers.run('ubuntu:latest', detach=True)
    for line in container.logs(stream=True):
        print(line.strip())
    return "<h1>Container Created!</h1>"

1 个答案:

答案 0 :(得分:2)

docker.py文档提供了答案: Docker.py Execute

由于不建议执行,因此必须使用exec_createexec_start

因此,您必须使用docker.py来获取容器的ID,但这应该足够了。

希望有帮助。