私有DockerHub搭建

DockerHub配置

//参考链接 https://yeasy.gitbooks.io/docker_practice/content/repository/local_repo.html
$ sudo apt-get install -y build-essential python-dev libevent-dev python-pip liblzma-dev
$ sudo -E pip install docker-registry//-E表示在代理下工作
$ sudo apt-get install swig
//安装完之后,依然报错error:command 'swig' failed with exit status 1
// Rolling back uninstall of M2Crypto
//解决问题的方法:https://my.oschina.net/54720/blog/863329
//具体做法是 vim /usr/include/opensslconf.h 编辑36行
//注释error行,载入opensslconf.h文件,如下图所示。
// #include "opensslconf.h"

ubuntu
编辑/etc/hosts
10.21.4.24  lucus.com
编辑ubuntu /etc/default/docker或者Centos /etc/sysconfig/docker
DOCKER_OPTS="--insecure-registry lucus.com:5000"

//然后修改配置文件,主要修改 dev 模板段的 storage_path 到本地的存储仓库的路径。
$ cp config/config_sample.yml config/config.yml

//启动服务
$ sudo gunicorn --access-logfile - --error-logfile - -k gevent -b 0.0.0.0:5000 -w 4 --max-requests 100 docker_registry.wsgi:application
//服务启动成功之后,使用curl访问本地的5000端口,看到输出docker-registry的版本信息说明运行成功。

私有DockerHub搭建_第1张图片
image.png

验证本地仓库,上传、下载、搜索镜像

创建好私有仓库之后,就可以使用 docker tag 来标记一个镜像,然后推送它到仓库,别的机器上就可以下载下来了。例如私有仓库地址为 192.168.7.26:5000。

现在本机查看已有的镜像

$ sudo docker images
REPOSITORY  TAG   IMAGE ID     CREATED           VIRTUAL SIZE
ubuntu     latest ba5877dc9bec 6 weeks ago         192.7 MB
ubuntu     14.04  ba5877dc9bec 6 weeks ago         192.7 MB

使用docker tag 将 ba58 这个镜像标记为 192.168.7.26:5000/test(格式为 docker tag IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG])。

$ sudo docker tag ba58 192.168.7.26:5000/test

使用 docker push 上传标记的镜像。

$ sudo docker push 192.168.7.26:5000/test

用 curl 查看仓库中的镜像。

$ curl http://192.168.7.26:5000/v1/search

这里可以看到 {"description": "", "name": "library/test"},表明镜像已经被成功上传了。

现在可以到另外一台机器去下载这个镜像。

$ sudo docker pull 192.168.7.26:5000/test

删除镜像

 curl -X DELETE 10.21.4.39:5000/v1/repositories/镜像名称/

你可能感兴趣的:(私有DockerHub搭建)