SDK1 - 了解Docker-api的作用
包下载:https://pypi.python.org/packages/20/73/3bb05004dcc734182d57a1c8a802732e05788678a71bfa12348a614d5d73/docker-2.6.1.tar.gz#md5=be4c90ee936ad0af4c45532616bf8b52
教程:
https://docker-py.readthedocs.io/en/stable/
想要和docker守护进程进程通信,我们必须先实例化一个客户端。你可是以使用docker.from_env()连接默认的socket或者自己配置的环境变量。
#导入模块
import docker
#实例化一个客户端
client = docker.from_env()
我们可以利用这个客户端运行容器
client.containers.run("ubuntu","echo hello world")
使用容器在后台运行:
client.containers.run("bfirsh/reticulate-splines", detach=True)
#这里要注意了,很多人会以为为什么我用自己的容器就不能在后台运行了,那是因为要理解docker的一个机制,他在我们执行的命令执行后容器就会停止,而我们上述的容器,默认运行时会运行一个脚本,这个脚本简单理解为一个while无限循环。所以不会停止。
我们可以简单的管理容器。
client.containers.list()
container = client.containers.get("45e6d2de7c54")
container.attrs['Config']['Image']
container.attrs['Config']['Cmd']
container.logs()
container.stop()
我们可以查看日志,循环打印出日志内容
for line in container.logs(stream=True):
print(line.strip())
我们可以简单的管理镜像
client.images.pull("nginx")
#但是由于我们处于天朝和凡人之间的网络容易出问题。
列出所有镜像
client.images.list()
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步