搭建自己的 Docker 私有仓库服务
说明:仅供参考,这个方案可能已经过时了,docker-registry官方github上写的是docker run -p 5000:5000。
还有如何搜索私有仓库服务内的镜像?可以通过http://192.168.2.45/v1/search来获取私有仓库内的镜像。
和初次接触 Xen/KVM 虚拟技术的体验不同,Docker 不用自己动手制作镜像,官方已经提供了很多版本的 Linux 镜像,直接从官方仓库(Public Repositories)下载就可以了。如果考虑到安全性和速度,我们可能会想在自己局域网里架设一个私有仓库(Private Repositories)来放我们自己的镜像,Docker-Registry 正是我们需要的工具。
用 git 下载源码后修改配置文件 config.yml,把 storage_path 部分改成 Docker 镜像仓库的存放地点:
$ git clone https://github.com/dotcloud/docker-registry $ cd docker-registry $ cp config_sample.yml config.yml $ vi config.yml ... # This is the default configuration when no flavor is specified dev: storage: local storage_path: /home/linuxidc/registry loglevel: debug ... $ mkdir /home/linuxidc/registry
安装一些必要软件包和一些 Docker-Registry 需要用到的 Python 工具和库:
$ sudo apt-get install build-essential python-dev libevent-dev python-pip libssl-dev $ sudo pip install -r requirements.txt
Docker-Registry 实际上是个基于 Flask 的 web app,安装成功后就可以这样运行了:
$ sudo gunicorn --access-logfile - --debug -k gevent -b 0.0.0.0:80 -w 1 wsgi:application
打开浏览器,访问 IP 地址就可以看到 docker-registry 私有仓库在运行了:
查看一下现有系统上已经有了哪些镜像:
$ sudo docker images REPOSITORY TAG ID CREATED SIZE linuxidc/Ubuntu latest 936a54e8a345 2 weeks ago 12.29 kB (virtual 327.8 MB) ubuntu latest 8dbd9e392a96 6 months ago 131.5 MB (virtual 131.5 MB) ubuntu precise 8dbd9e392a96 6 months ago 131.5 MB (virtual 131.5 MB) ubuntu quantal b750fe79269d 7 months ago 24.65 kB (virtual 180.1 MB)
我们打算把 linuxidc/ubuntu 这个镜像(ID 是 936a54e8a345)上传(push)到我们刚创建的私有仓库里(这个私有仓库的 IP 地址是 192.168.2.45),会看到提示 Username/Password,初次 push 的话,可以自己设置用户名和密码:
$ sudo docker images REPOSITORY TAG ID CREATED SIZE linuxidc/ubuntu latest 936a54e8a345 2 weeks ago 12.29 kB (virtual 327.8 MB) ubuntu latest 8dbd9e392a96 6 months ago 131.5 MB (virtual 131.5 MB) ubuntu precise 8dbd9e392a96 6 months ago 131.5 MB (virtual 131.5 MB) ubuntu quantal b750fe79269d 7 months ago 24.65 kB (virtual 180.1 MB) 192.168.2.45/linuxidc latest 936a54e8a345 2 weeks ago 12.29 kB (virtual 327.8 MB)
以后只要 docker pull 192.168.2.45/linuxidc 就可以从我们自己的私有仓库下载和运行镜像了,本地网络速度当然会快很多。
Docker 的详细介绍:请点这里
Docker 的下载地址:请点这里