Python 脚本到 运行 docker 容器
Python script to run docker containers
我想编写一个 python 脚本,用于 运行 docker 个容器,然后显示该特定容器的日志,我使用了一些正在运行和启动或停止容器的功能为了我。有人可以帮我显示容器的日志吗?
我尝试使用 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()
我想编写一个 python 脚本,用于 运行 docker 个容器,然后显示该特定容器的日志,我使用了一些正在运行和启动或停止容器的功能为了我。有人可以帮我显示容器的日志吗? 我尝试使用 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()