运行docker容器的Python脚本

我想编写一个运行docker容器的python脚本,然后显示特定容器的日志,我使用了一些正在工作的函数,并为我启动或停止容器。 有人可以帮我显示日志的容器? 我试图使用container.logs()函数,但它不适合我,我也试图学习docker-py库! 我不太了解python,任何帮助将不胜感激!

#!/usr/bin/python import docker c = docker.Client(base_url='unix://var/run/docker.sock',version='1.12',timeout=10) ctr = c.create_container('ubuntu:16.04') c.start(ctr) 

你正在使用一个老docker客户端。 运行下面来解决这个问题

 pip uninstall docker-py pip install docker 

一旦完成,你可以使用下面的东西

 import docker c = docker.DockerClient(base_url='unix://var/run/docker.sock',timeout=10) ctr = c.containers.run('ubuntu:16.04',command="bash -c ' for((i=1;i<=10;i+=2)); do echo Welcome $i times; sleep 10; done'", detach=True) logs = ctr.logs(stream=True) for line in logs: print(line) 

@Tarun,我通过它来解决我的问题,它很容易! 顺便谢谢你的帮助人!

 import docker import dockerpty client = docker.Client() container = client.create_container( image='busybox:latest', stdin_open=True, tty=True, command='/bin/sh', ) client.start(container) dockerpty.PseudoTerminal(client, container).start()