如何使用docker-py(官方docker客户端)启动bash shell?

我正在尝试使用docker-py运行一个docker容器并将我放入该容器中的bash shell中.我得到了运行容器(我可以用docker ps看到它,我可以使用本机docker客户端很好地附加它),但是当我使用官方Python库中的attach()时,它只是给了我一个空字符串作为回应.如何附加到我的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)
''
最佳答案
我最终为此发布了一个库:https://github.com/d11wtq/dockerpty

import docker
import dockerpty

client = docker.Client()
container = client.create_container(
    image='busyBox:latest',command='/bin/sh',)
client.start(container)

dockerpty.PseudoTerminal(client,container).start()

相关文章

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Li...
1、什么是docker?答:docker是开源的应用容器引擎;开发人员把他们的应用及依赖包打包发布到容器当中。...
1、什么是namespace? 答:名称空间,作用隔离容器 2、namespace隔离有那些? 答:ipc:共享内存、消息队...
1、Docker能在非Linux平台(Windows+MacOS)上运行吗? 答:可以 2 、如何将一台宿主机的docker环境...
环境要求: IP hostname 192.168.1.1 node1 项目规划: 容器网段:172.16.10.0/24 NGINX:172.16.10.10...
文档上传地址:https://files.cnblogs.com/files/lin-strive/07-docker%E8%B7%A8%E4%B8%BB%E6%9C%BA%E7...