文章目录
1.开启远程 docker 服务
1).修改 docker 运行方式
将 swarm 节点上的docker的运行方式改为tcp:
修改 /usr/lib/systemd/system/docker.service 中的 ExecStart 为:
ExecStart=/usr/bin/dockerd -H tcp://current_node_ip:4243 -H unix:///var/run/docker.sock
2).重启 docker 服务
a.重新加载服务配置
systemctl daemon-reload
b.重启 docker 服务:
systemctl restart docker
因为当前服务器已搭建过 docker 集群。配置之后,远程调用时通过主节点的4243端口访问的即是 docker 集群。
集群模式下,当主节点重启 docker 服务后,会自动重启所有 service,所有节点上由 service 管理的容器会被清空,然后 swarm 会自动给 service 重新在可用的节点上创建任务;但是对于单台节点来说,并不会重启本机单独控制的容器。
2.使用 docker 客户端调用 docker 服务
在 docker swarm 主节点上可以执行:
docker -H tcp://node_ip:4243 ps/images
docker -H tcp://node_ip:4243 node ls
...
3.Python 远程调用 docker 服务
1).下载 docker 包
pip install docker
连接:
import docker
client = docker.DockerClient(base_url='tcp://node_ip:4243')
2).查看集群基本信息
# 节点
print(client