测试环境

75机:Red Hat Enterprise Linux Server 7.0,无外网访问权限

73机:Red Hat Enterprise Linux Server 7.0,无外网访问权限,已安装Docker Server

183机:OS X Yosemite 10.10.4,完全外网访问,用于下载安装包

配置过程

1. 如果开发环境可联网,则直接通过如下命令进行安装即可:

sudo pip install docker-py

如果没有安装pip命令,可通过如下命令进行安装:

sudo easy_install pip

2. 如果不能连外网,则需要从github的docker-py页面中下载zip包docker-py-master.zip进行离线安装。下载完之后,将zip包从183机scp到75机中:

scp docker-py-master.zip scs@10.11.150.75:/opt/scs/openxxs/

在75机上解压:

unzip docker-py-master.zip

查看setup.py文件,发现有三个依赖包需要安装,且有版本要求:

requirements = [
'requests >= 2.5.2',
'six >= 1.3.0',
'websocket-client >= 0.32.0',
]

可从如下网站下载 requests、six和websocket-client 三个安装包(如果不知道具体url,运行sudo python setup.py install时会有提示):

requests: https://pypi.python.org/simple/requests/
six: https://pypi.python.org/simple/six/
websocket-client: https://pypi.python.org/simple/websocket-client/

下载完成后scp到75机上再使用 tar -zxvf 解压,依照如下顺序安装:

cd requests-2.7.
sudo python setup.py install
cd ../six-1.9.
sudo python setup.py install
cd ../websocket_client-0.32.
sudo python setup.py install
cd ../docker-py-master
sudo python setup.py install

3. 在73机上用同样方式安装docker-py

4. 以Unix Socket方式在73机上启动docker server:

[@tc_150_73 ~]$ sudo docker -d &
[]
[@tc_150_73 ~]$ INFO[] Listening for HTTP on unix (/var/run/docker.sock)
INFO[] [graphdriver] using prior storage driver "devicemapper"
WARN[] Running modprobe bridge nf_nat failed with message: , error: exit status
INFO[] Loading containers: start.
..
INFO[] Loading containers: done.
INFO[] Daemon has completed initialization
INFO[] Docker daemon commit=0baf609 execdriver=native-0.2 graphdriver=devicemapper version=1.7.

在73机上开启若干个docker容器后进行测试,测试如下:

[@tc_150_73 ~]$ python
Python 2.7. (default, Apr , ::)
[GCC 4.8. (Red Hat 4.8.-)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from docker import Client
>>> clt = Client(base_url='unix://var/run/docker.sock')
>>> clt.containers()
[{u'Status': u'Up About a minute', u'Created': , u'Image': u'centos:7', u'Labels': {}, u'Ports': [], u'Command': u'/bin/bash', u'Names': [u'/suspicious_galileo'], u'Id': u'a81dbf9200fbf6a4180e8b8e80f4fe30b3f8be612ea0e58ac04fb65080429043'}]
>>>

可以看到正常显示了正在运行中的容器,Unix Socket方式测试成功。

5. 关闭73机上刚才开启的docker server(使用service docker stop 和 systemctl docker stop方式停止无效):

sudo killall docker

6. 以TCP方式在73机上启动docker server:

[@tc_150_73 ~]$ sudo docker -H 0.0.0.0: -d &
[]
[@tc_150_73 ~]$ WARN[] /!\ DON'T BIND ON ANY IP ADDRESS WITHOUT setting -tlsverify IF YOU DON'T KNOW WHAT YOU'RE DOING /!\
INFO[] Listening for HTTP on tcp (0.0.0.0:)
INFO[] [graphdriver] using prior storage driver "devicemapper"
WARN[] Running modprobe bridge nf_nat failed with message: , error: exit status
INFO[] Loading containers: start.
....
INFO[] Loading containers: done.
INFO[] Daemon has completed initialization
INFO[] Docker daemon commit=0baf609 execdriver=native-0.2 graphdriver=devicemapper version=1.7.

在75机上进行测试,测试结果如下:

[@tc_150_75 ~]$ python
Python 2.7. (default, Apr , ::)
[GCC 4.8. (Red Hat 4.8.-)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from docker import Client
>>> clt = Client(base_url='tcp://10.11.150.73:30001')
>>> clt.containers()
[]

TCP方式测试成功(此时显示的是73机上的正在运行的容器状态,没有,所以为空)。

相关安装包百度云备份

http://pan.baidu.com/s/1sjmi8OH

docker-py的配置与使用的更多相关文章

  1. Docker学习笔记 — 配置国内免费registry mirror

    Docker学习笔记 — 配置国内免费registry mirror Docker学习笔记 — 配置国内免费registry mirror

  2. Ubuntu Docker 安装和配置 GitLab CI 持续集成

    相关文章: Ubuntu Docker 简单安装 GitLab 劈荆斩棘:Gitlab 部署 CI 持续集成 目的:在 Ubuntu 服务器上,使用 Docker 安装和配置 GitLab Runne ...

  3. Docker教程:docker machine的配置和命令

    http://blog.csdn.net/pipisorry/article/details/50921335 安装virtualbox 如果要使用virtualbox,首先要安装virtualbox ...

  4. Linux(Manjaro) - Docker - MySQL 安装配置

    Linux(Manjaro) - Docker - MySQL 安装配置 拉取mysql镜像 # 使用网易的 MySQL 镜像地址 docker pull hub.c.163.com/library/ ...

  5. urls.py的配置[路由配置]

    urls.py的配置[路由配置] Get请求与Post请求的方式 get请求: (1)地址栏输入url (2)<a href="请求url">点击</a> ...

  6. 在Docker中安装配置Oracle12c并实现数据持久化

    在Docker中安装配置Oracle12c并实现数据持久化 选定镜像,并pull到系统中,一定要先配置加速,不然超级慢 eric@userver:~$ docker pull sath89/oracl ...

  7. docker 给容器配置ip(和主机一个网段)

    docker 给容器配置ip(和主机一个网段).详情参考:http://www.xiaomastack.com/2015/02/06/docker-static-ip/ #/bin/bash ] || ...

  8. Windows和Centos下Docker的安装配置

    Windows和Centos下Docker的安装配置 windows环境下的安装(win10) 在Windows系统上需要利用toolbox来安装Docker,现在 Docker 有专门的 Win10 ...

  9. docker升级&加速器配置

    默认使用yum或者apt安装的docker版本较老,可以通过以下方式进行升级: 1.卸载旧版本 [root@CentOS702 ~]# centos 7.3卸载docker[root@CentOS70 ...

  10. Docker笔记(三):Docker安装与配置

    原文地址:http://blog.jboost.cn/2019/07/14/docker-3.html Docker分为Docker CE社区免费版与Docker EE企业收费版.Docker EE主 ...

随机推荐

  1. android ptl

    Gerrit android update sdk --no-uiadb logcat MyActivity:* *:S Connecting adb over Wi-Fiadb tcpip 5555 ...

  2. 行转列求和:不加 in 条件,sum的数据会不会准确?

    我的习惯写法,担心不加 in 条件 ,统计结果会包含其他的数据 SELECT ZWKMYE_KJND as 年度,ZWKMYE_KJQJ as 月份,ZWKMYE_DWBH as 单位, ' then ...

  3. Python input()

    在Python语言中,我们经常需要与用户实现交互,下面是一个小实例 # -*- coding:UTF-8 -*- #获取输入参数,并将输入的值存储到txt文件中 String1 = input(&qu ...

  4. 6.24 AppCan移动开发者大会:议程重大更新,报名即将关闭

    大会倒计时2天,议程重大更新,报名通道即将关闭! 创业6年,由AppCan主办的第一届移动开发者大会将在本周五盛大召开.超过100万开发者线上参与.现场1500人规模.50家移动互联企业深度参与.30 ...

  5. Oracle连乘聚合函数 MUL

    Oracle提供了求和(SUM),平均值(AVG)等聚合函数,但没有提供连乘的聚合函数. 比如有一个表如下: ID NUM 1 4 2 2 3 2 如果要求NUM列的连乘数,即求: 4*2*2 ,目前 ...

  6. linux 禁止指定账号ssh登陆

    1 2 3 4 vim /etc/pam.d/sshd   #在第一行添加以下代码 auth       required     pam_listfile.so item=user sense=de ...

  7. [转]每天一个linux命令目录

    [转]每天一个linux命令目录 http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令,坚持每 ...

  8. [转]强悍的跨平台开源多媒体中心XBMC介绍

    [转]强悍的跨平台开源多媒体中心XBMC介绍 http://www.cnblogs.com/mythou/p/3220898.html 最近都在了解Android下的音视频,因为最近需要做一个多媒体中 ...

  9. verilog语法之memory存储器

    命名规则:reg[n-1:0] 存储器名[m-1:0] 说明:这是m个n位的存储器,该存储器的地址范围是0-(m-1) 举例:reg[3:0] memo[255:0] 说明:这是256个4位存储器,该 ...

  10. 微软职位内部推荐-Senior Software Engineer

    微软近期Open的职位: Are you looking for a big challenge? Do you know why Big Data is the next frontier for ...