d11*_*wtq 10 python docker dockerpy
我正在尝试使用docker-py运行一个docker容器并将我放入该容器中的bash shell中.我得到了运行容器(我可以看到它docker ps
,我可以使用本机docker客户端很好地附加它),但是当我使用attach()
官方Python库时,它只是给我一个空字符串作为响应.如何附加到我的bash shell?
>>> import docker
>>> c = docker.Client()
>>> container = c.create_container(image='d11wtq/python:2.7.7', command='/bin/bash', stdin_open=True, tty=True, name='docker-test')
>>> container
{u'Id': u'dd87e4ec75496d8369e0e526f343492f7903a0a45042d312b37859a81e575303', u'Warnings': None}
>>> c.start(container)
>>> c.attach(container)
''
Run Code Online (Sandbox Code Playgroud)
d11*_*wtq 10
我最终为此发布了一个库:https://github.com/d11wtq/dockerpty
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()
Run Code Online (Sandbox Code Playgroud)