打造SDN容器百宝箱(二)

  • 时间:
  • 浏览:20
  • 来源:爱Q生活网_提供熊猫辅助网技术_洋葱娱乐网资讯

在2014年12月8、9号的“中国未来网络发展与创新论坛暨全球SDN开放网络高峰会议”上,国内道里云公司意味利用openstack+Docker技术组合,提供了跨数据中心的“小云”服务,从用户视角提出了“租户控制器”理念。有些人认为,这体现了道里云对云和SDN的理解既务实又灵活,这麼困死在SDN的学术定义中,也这麼“累死”在打造openstack的无敌航母上。话不罗嗦了,这次主要写如保搭建Docker私有仓库及相关细节注意事项。

1 安装环境

此环境搭建主要在Ubuntu14.04系统上进行:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.1 LTS
Release: 14.04
Codename: trusty

2 安装法律措施及步骤

1.从github上下载docker-registry源码

sudo git clone https://github.com/dotcloud/docker-registry

2.安装环境依赖库

sudo apt-get install build-essential python-dev libevent-dev python-pip libssl-dev liblzma-dev libffi-dev gunicorn

3.配置config

cd docker-registry/config
sudo cp config_sample.yml config.yml
sudo vi config.yml3. ##配置config
cd docker-registry/config
sudo cp config_sample.yml config.yml

修改配置文件:

$sudo vi config.yml
local: &local
<<: *common
storage: local
storage_path: _env:STORAGE_PATH:/tmp/registry

安装Docker需为本地自定义路径/home/dockertest/registry1mkdir /home/dockertest/registry

4.安装docker-registry依赖

cd docker-registry
sudo pip install .

5.启动服务

sudo gunicorn --access-logfile - --debug -k gevent -b 0.0.0.0:50000 -w 1 docker_registry.wsgi:application

Gunicorn是两个 Python WSGI UNIX的HTTP服务器,gunicorn,配合Apache或Nginx,可不必须实现简单高效的python web的应用部署和维护。

6.验证

curl http://192.168.5.31:50000

输出为:"\"docker-registry server\"",搭建成功!

3 测试

3.1 上传镜像

意味我在本地意味做好了floodlight的image,现在必须把floodlight的image(ID为1bd7e4dda917 ) push到事先创建docker-registry里。

(1)创建别名

sudo docker tag 1bd7e4dda917 192.168.5.31:50000/uspeed_sdnpool/floodlight

(2)上传镜像

sudo docker push 192.168.5.31:50000/uspeed_sdnpool/floodlight

在上传镜像的过程中指在两个 错误:

2015/01/14 16:25:47 Error: Invalid registry endpoint https://192.168.5.31:50000/v1/: Missing certificate ca.cert for key ca.key. If this private registry supports only HTTP or HTTPS with an unknown CA certificate, please add --insecure-registry 192.168.5.31:50000 to the daemon's arguments. In the case of HTTPS, if you have access to the registry's CA certificate, no need for the flag; simply place the CA certificate at /etc/docker/certs.d/192.168.5.31:50000/ca.crt

处置法律措施:

你你这一 什么的问题是意味Docker1.3增加了安全认证的功能,根据提示必须在启动docker守护程序运行时,增加--insecure-registry 192.168.5.31:50000选项。

通过ps -ef | grep docker获得docker的守护程序运行ID,通过kill -9杀死。

重新启动docker

sudo /usr/bin/docker --insecure-registry 192.168.5.31:50000 –d

什么的问题处置后重新上传镜像:

sudo docker push 192.168.5.31:50000/uspeed_sdnpool/floodlight

3.2 查询镜像

可不必须通过curl http://192.168.5.31:50000/v1/search查看事先的image

3.3 下载镜像

sudo docker pull 192.168.5.31:50000/uspeed_sdnpool/floodlight

3.4 运行floodlight容器

sudo docker run -t -i -p 192.168.5.31:500500:500500 --name floodlight 192.168.5.31:50000/uspeed_sdnpool/floodlight:latest /bin/bash

-p表示floodlight容器的500500端口映射到192.168.5.31本机的500500端口

--name表示启动的容器别名,底下是镜像名

-t -i表示创建容器后开辟两个 交互式操作终端进入容器后,执行Floodlight控制器启动命令:

java -jar /floodlight/floodlight.jar

在宿主机访问floodlight的Web url界面:http://192.168.5.31:500500/ui/index.html,如图所示:

由此可说明,镜像可不必须下载并成功启动容器floodlight。

4 总结

Docker registry的安装和使用是实施并运用Dcoker的第一步,主本来意味公共的Docker Hub有事先不能自己,但会 私有registry对企业内部人员而言,更加的安全可控,同去方便后期派发和维护标准的容器服务。除此之外,也可不必须通过Docker的RESTAPI(https://docs.docker.com/reference/api/registry_api/)意味第三方的编排框架管理registry。在本例子中镜像的存储在本地,当然也可不必须像openstack那样通过glance+swift方案实现。

【编辑推荐】

【责任编辑:

何妍

TEL:(010)684765006】



点赞 0