环境搭建问题

在 https://blog.csdn.net/Enjolras_fuu/article/details/89244113 中我们搭建了一个单机的 docker swarm环境, 退出这个集群之后,执行docker servise ls

(base) furuiyangdeMacBook-Pro:SwarmSense-IoT-Platform furuiyang$ docker service ls
Error response from daemon: This node is not a swarm manager. Use "docker swarm init" or "docker swarm join" to connect this node to swarm and try again.

这是因为当前的主机并不在这个集群中,比较方便的一种做法是把当前的 Machine CLI指向manager主机:

eval "$(docker-machine env manager)"

这时候再在当前终端执行 docker service ls :

(base) furuiyangdeMacBook-Pro:SwarmSense-IoT-Platform furuiyang$ docker service ls
ID                  NAME                MODE                REPLICAS            IMAGE               PORTS

SDK 的使用

安装:

pip install docker

相关的文档: https://docker-py.readthedocs.io/en/stable/client.html

用到哪里再来补充吧 … 先不按顺序写写最近用到的

创建客户端

# test docker SDK for python
import docker
# client = docker.from_env()
client = docker.DockerClient(base_url='unix://var/run/docker.sock')
print('client1---> ', client)
# client1--->  <docker.client.DockerClient object at 0x103d5c518>

查看镜像

import docker
# client = docker.DockerClient(base_url='unix://var/run/docker.sock')
client = docker.from_env()
# 查看当前的镜像
images = client.images.list()
print(images)  # 返回一个镜像列表对象

运行结果:

终端查看镜像:

运行起一个镜像

import docker
client = docker.from_env()# 运行起一个镜像 返回结果 感觉就像一个轻量级的进程
res = client.containers.run("ubuntu:latest", "echo hello world")
print(res)
# b'hello world\n'

查看正在运行的容器对象

import docker
client = docker.from_env()# 查看正在运行的容器
containers = client.containers.list()
print(containers)# 停止正在运行的容器
container = containers[0]
container.stop()# 启动
container.start()# 重启
container.restart()# 暂停
container.pause()# 暂停后继续
container.unpause()# 查看容器状态
status = container.status# 查看容器的 id  对应于 CONTAINER ID
id = container.id# 容器名称
name = container.name# 标签
lbs = container.labels# 查看容器的镜像来源
image = container.image  # image: <Image: 'ubuntu:18.04', 'ubuntu:latest'># 查看运行时产生的日志
logs = container.logs()
print(logs)
for line in container.logs(stream=True):print(line.strip())

针对于服务的SDK

eval "$(docker-machine env manager)"  # 注意如果是 docker-machine 首先在终端执行这一句

查看当前运行的服务

# 查看当前运行的服务
ss = client.services.list()

创建服务

# for example
docker service create --name etcd \--network swarm_network \--publish 2380 --publish 2379:2379 \ quay.io/coreos/etcd:latest etcd \-advertise-client-urls http://etcd:2379 \-listen-client-urls http://0.0.0.0:2379

对于 docker-machine 的理解以及在 docker-swarm 中使用 python 针对于 docker 的 SDK相关推荐

  1. Docker Machine搭建并加入节点

    对于集群服务器来讲,要在每台机器上手动安装Docker是一件及其痛苦的事情,还好有Docker Machine这一工具,Docker三剑客中的一角. 一.Docker Machine介绍 这个工具已经 ...

  2. Docker Machine是什么

    Docker Engine 在说Docker Machine之前,我们先说说Docker Engine,也就是人们嘴里边常说的"docker".Docker我们一般理解的,都是C/ ...

  3. Docker(五):Docker 三剑客之 Docker Machine

    上篇文章Docker(四):Docker 三剑客之 Docker Compose 介绍了 Docker Compose,这篇文章我们来了解 Docker Machine . Docker Machin ...

  4. docker——三剑客之Docker Machine

    Docker Machine是Docker官方三剑客项目之一,负责使用Docker的第一步,在多种平台上快速安装Docker环境. 它支持多种平台,让用户在很短时间内搭建一套Docker主机集群. M ...

  5. couchbase_适用于具有Couchbase和WildFly的多容器和多主机应用程序的Docker Machine,Swarm和Compose...

    couchbase 该博客将说明如何使用Docker创建部署在多个主机上的多容器应用程序. 这将使用Docker Machine,Swarm和Compose实现. 是的,这三个工具一起使这个博客变得更 ...

  6. 适用于具有Couchbase和WildFly的多容器和多主机应用程序的Docker Machine,Swarm和Compose...

    该博客将说明如何使用Docker创建部署在多个主机上的多容器应用程序. 这将使用Docker Machine,Swarm和Compose实现. 是的,所有这三个工具一起使此博客更加有趣! 该图说明了关 ...

  7. Docker集群管理之Docker Machine

    http://www.csdn.net/article/2015-08-11/2825438 摘要:做为Docker容器集群管理三剑客之一的Docker Machine 大大简化了Docker主机部署 ...

  8. docker中使用Python镜像

    1.docker中获得Python的镜像 docker pull 193.101.0.10:6666/zenap/rsync-python27-alpine:3.2 2.查看docker中的镜像 do ...

  9. centos7下安装docker(14安装docker machine​)

    为所有host安装和配置docker 之前我们手工安装了一个docker host: 1.安装https CA证书 2.添加GPG key 3.添加docker apt源 4.安装docker     ...

最新文章

  1. python解释器是什么-python解释器都有什么
  2. HDU 5832——A water problem 2016CCPC网络赛1001
  3. Java并发AtomicIntegerArray类
  4. 【iCore4 双核心板_ARM】例程二十九:SD_IAP_FPGA实验——更新升级FPGA
  5. 为什么「margin:auto」可以让块级元素水平居中?
  6. hihoCoder #1014 : Trie树 [ Trie ]
  7. 动态路由协议:华为路由器配置RIP协议
  8. 儿童讲堂 - 量词的解释
  9. 地下城与勇士正在自动连接频道服务器,DNF爆满频道服务器连接失败解决方法分享...
  10. MySQL 替换手机号码中间4位为星号显示
  11. 五子棋对弈(Socket--【服务器】--联机)
  12. INFOR WMS仓储管理系统里常用表说明
  13. oracle中如何转换成数字,如何在Oracle中实现数字进制转换完全版?
  14. linux自动启动 oracle
  15. 基于springboot_+java古诗词分享数字化平台
  16. python社区发现对gml文件的分析,用Python将gml文件中边的信息输出为csv(或者txt)格式...
  17. 全球及中国硅原子力显微镜探针行业规划展望及未来趋势研究报告2021-2027年版
  18. java毕业设计高校体育场馆预约管理系统设计与实现mybatis+源码+调试部署+系统+数据库+lw
  19. 详细对比DRAM、Flash和DDR技术 2020-11-19
  20. lua文件迁移小工具(编辑器下直接使用,将.lua文件变成定制的AB包文件)

热门文章

  1. 专科学历ui设计就业怎么样?来看看2020年UI设计师岗位数据
  2. 电信天翼宽带,自备路由器经常断网
  3. 机器学习实验1 / 线性回归
  4. 全栈开发工程师微信小程序-上
  5. C语言实现带头节点链表
  6. 电脑开机黑屏提示 ERROR 0199 System Security-Security password retry
  7. 谷歌留痕代发技术指南_谷歌留痕怎么霸屏的?
  8. 2023最新微信小程序云工具箱源码+有几十个功能/无需授权
  9. 【Android】逆向自动化
  10. ubuntu访问win10共享文件