您的位置:首页 > 运维架构 > Docker

[Docker] ubuntu14.04LTS 上部署自己的 provider docker registry

2016-03-19 22:06 816 查看
在调研 Marathon 的过程中遇到了一个问题。就是每次新建APP的时候。总是会重新的去docker hub上push 镜像。导致每次启动app的时间都很漫长,严重影响了自己的进度。而没有找到合适的方式如何让其使用本地的 image, 所以就想就此机会搭建一个自己的 Provider docker registry。 毕竟自己也经常性的需要在不同的机器上部署docker。这样反而提升了部署效率。

版本信息:

Docker version 1.10.3, build 20f81dd

Ubuntu 14.04.4 LTS

setp 1: 安装依赖包

$ sudo apt-get install -y build-essential python-dev libevent-dev python-pip liblzma-dev




$ sudo pip install docker-registry
setp2: 修改配置文件:

$ cd /usr/local/lib/python2.7/dist-packages/config

[code]  $ cp config_sample.yml config.yml
Note: 然后修改配置文件,主要修改 dev 模板段的 
storage_path
到本地的存储仓库的路径。 可以不用修改。使用默认值。

[/code]
setp3: 启动服务

[code]  $ sudo gunicorn --access-logfile - --error-logfile - -k gevent -b 0.0.0.0:5000 -w 4 --max-requests 100 docker_registry.wsgi:application
[/code]

setp4: 验证服务的可用性

# /usr/local/lib/python2.7/dist-packages/config# curl http://127.0.0.1:5000/v1/search


在想要使用我们自己的provider docker registry的计算节点上,我们需要做如下配置:



由于我们搭建的没有支持ssl服务。所以我们在跨主机访问的时候,可能会遇到报错说当您使用http服务而不是httpsdshihou.xuyao在配置文件中配置一参数:

# vi /etc/default/docker

添加如下内容:DOCKER_OPTS="--insecure-registry x.x.x.x:5000"

# service docker restart

至此我们的工作就完成了。现在我们就可以使用自己的 Provider Docker Registry了。

使用方法举例:

如果我们想把自己的本地镜像push到 provider docker registry 我们只需要使用如下命令:

[code]  $ sudo docker tag image_id 192.168.7.26:5000/test
[/code]
其中 使用
docker tag
ba58xxxxx(image_id)
这个镜像标记为
192.168.7.26:5000/test
(格式为
docker tag IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]
)。



[code]  $ sudo docker push 192.168.7.26:5000/test
[/code]

这样就将 自己本地的镜像push到服务器上了。

使用 provider docker registry的image 下载到本地的命令如下:

[code]  $ sudo docker pull 192.168.7.26:5000/test
[/code]

参考:http://udn.yyuap.com/doc/docker_practice/repository/local_repo.html

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: