Docker的可编程性、配置远程连接、python连接docker编程

Docker的可编程性、配置远程连接、python连接docker编程_第1张图片
image.png

上节课我们创建了一个jdk镜像 我们在本机拿到一个jdk文件夹之后 把它拷贝到镜像里 在我们创建容器时 容器里面通过相关配置可以直接运行java程序
Docker的可编程性、配置远程连接、python连接docker编程_第2张图片
image.png

我们上节课执行docker build -t centos:jdk .命令
出现下面一段内容
image.png

为什么会出现这个呢? 这里的context上下文 是什么 to Docker daemon又如何理解
官方解释如下https://docs.docker.com/engine/reference/builder/#usage
Docker的可编程性、配置远程连接、python连接docker编程_第3张图片
image.png

Docker的可编程性、配置远程连接、python连接docker编程_第4张图片
image.png

实际上docker本身是一个cs架构的程序 而daemon作为守护进程(服务端)
当我们在终端中输入docker images列出docker 镜像时 不是操作的服务端 是通过docker给我们的客户端发送一个命令 这个命令的执行是由docker客户端来执行的(内部有个程序调用docker服务端api)服务端首先放出一堆api 然后有客户端调用(当然也可以自己通过程序写客户端(python或者go))
所以上节课执行docker build -t centos:jdk . 的时候 需要把当前上下文 这里的.点是把当前目录下的文件作为上下文 默认会寻找Dockerfile 如果有其他文件会把这些文件发送到服务端 所以当前上下文就是指 build命令的点(.)
docker提供了3种连接方式 (这节课使用windows8.1 tcp方式通过远程连接docker)docker在虚拟机上
Docker的可编程性、配置远程连接、python连接docker编程_第5张图片
image.png

首先查看下连接方式
ps -ef | grep docker
image.png

可以看见当前配置不支持tcp远程连接docker服务
接下来配置下远程访问
Docker的可编程性、配置远程连接、python连接docker编程_第6张图片
image.png

首先进入该文件夹
image.png

ls查看 可以看见有各种service文件 可以对其进行启动 其中我们要修改的就是docker.service文件
Docker的可编程性、配置远程连接、python连接docker编程_第7张图片
image.png

image.png

回车出现如下
Docker的可编程性、配置远程连接、python连接docker编程_第8张图片
image.png

编辑内容
添加下面内容
image.png

注释掉上面的 添加下面的 意思是连接方式支持两种本机使用unix方式连接 外部使用tcp方式连接
保存
systemctl daemon-reload(把守护进程重新装载)
Docker的可编程性、配置远程连接、python连接docker编程_第9张图片
image.png

systemctl restart docker 重新启动docker
Docker的可编程性、配置远程连接、python连接docker编程_第10张图片
image.png

ps -ef | grep docker
Docker的可编程性、配置远程连接、python连接docker编程_第11张图片
image.png

可以发现出现了tcp的连接方式
等下我们可以使用tcp方式连接docker并且操作
连接方式在官方https://docs.docker.com/develop/sdk/examples/处可以看见
后面我们会使用管理工具对docker进行操作 这节课我们演示下python方式连接操作docker
Docker的可编程性、配置远程连接、python连接docker编程_第12张图片
image.png

Docker的可编程性、配置远程连接、python连接docker编程_第13张图片
image.png

首先虚拟机中防火墙需要放行2375端口 否则外部连接不到
Docker的可编程性、配置远程连接、python连接docker编程_第14张图片
image.png

在pychram中新建test.py文件
内容如下
Docker的可编程性、配置远程连接、python连接docker编程_第15张图片
image.png

运行结果
image.png

与在xshell中执行docker images结果相同
image.png

Docker的可编程性、配置远程连接、python连接docker编程_第16张图片
image.png

image.png

更多相关api请看官方示例

你可能感兴趣的:(Docker的可编程性、配置远程连接、python连接docker编程)