Docker 1.12.0 Registry (CentOS7) 私有仓库

安装依赖包
yum install -y python-devel libevent-devel python-pip gcc xz-devel
使用本地安装的方法按照Docker仓库
pip --proxy=http://11.32.1.20:808 install docker-registry
# 其中:--proxy=http://11.32.1.20:808 由于我的环境需要代理才能上网,所以配置的代理地址,如果您的网络不需要代理可以上外网,则不需要该参数;或者修改成您自己的代理地址。

遇到问题如下:

building 'M2Crypto.__m2crypto' extension
    swigging SWIG/_m2crypto.i to SWIG/_m2crypto_wrap.c
    swig -python -I/usr/include/python2.7 -I/usr/include -I/usr/include/openssl -includeall -modern -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i
    /usr/include/openssl/opensslconf.h:36: Error: CPP #error ""This openssl-devel package does not work your architecture?"". Use the -cpperraswarn option to continue swig processing.
    error: command 'swig' failed with exit status 1

解决方法:

yum install swig
pip --proxy=http://11.32.1.20:808 install m2crypto

vim   /usr/include/openssl/opensslconf.h

#到第36行左右
#注释,注释符://
//#error "This openssl-devel package does not work your architecture?"
#添加
#include "opensslconf.h"

#保存退出,再次执行
pip --proxy=http://11.32.1.20:808 install docker-registry
解决方法的参考文档
  • http://my.oschina.net/lionel45/blog/664017

配置

  • 配置文件路径:/usr/lib/python2.7/site-packages/config/
修改配置文件
cd /usr/lib/python2.7/site-packages/config/
cp config_sample.yml  config.yml
修改存储镜像的路径
#21行
sqlalchemy_index_database: _env:SQLALCHEMY_INDEX_DATABASE:sqlite:////tmp/docker-registry.db
#75行
storage_path: _env:STORAGE_PATH:/tmp/registry
#167行
storage_path: _env:STORAGE_PATH:/tmp/registry
#224
storage_path: _env:STORAGE_PATH:./tmp/test  
将tmp改为docker-registry-data,如下
sqlalchemy_index_database: _env:SQLALCHEMY_INDEX_DATABASE:sqlite:////docker-registry-data/docker-registry.db
storage_path: _env:STORAGE_PATH:/docker-registry-data/registry
storage_path: _env:STORAGE_PATH:/docker-registry-data/registry
storage_path: _env:STORAGE_PATH:./docker-registry-data/test
创建存储目录
mkdir -p /docker-registry-data
chmond 755 docker-registry-data
启动
docker-registry
mkdir -p /var/log/docker-registry
gunicorn --daemon --log-file /var/log/docker-registry/server.log --access-logfile /var/log/docker-registry/access.log --debug -k gevent -b 0.0.0.0:5000 -w 1 docker_registry.wsgi:application
部分参数说明

--daemon 或 -D 守护进程(后台执行)
--debug 打开程序调试功能
-k 工作类型
-w 处理请求的进程数目
-b IP与端口
更多参数说明请使用“gunicorn --help”命令查看

关于gunicorn工具的官网网址
  • http://docs.gunicorn.org/en/stable/index.html
参考网址
  • http://www.tuicool.com/articles/y6bIZb
  • http://blog.csdn.net/jeffreynicole/article/details/46670167
指定私有仓库地址
创建或修改

/etc/docker/daemon.json

添加以下内容
{ "insecure-registries":["myregistry.example.com:5000"] }
重启docker服务
systemctl restart docker.service
范例
ssh 10.2.3.222
vim  /etc/docker/daemon.json
{ "insecure-registries":["10.2.3.223:5000"] }

service docker restart
参考网址
  • http://www.07net01.com/2016/08/1636248.html
上传、下载、搜索、删除
上传镜像
docker push 10.2.3.223:5000/base:v1.2.1_autoserver
下载镜像
docker pull 10.2.3.223:5000/base:v1.2.1_autoserver
搜索
curl http://10.2.3.223:5000/v1/search
删除仓库中的镜像索引
curl -X DELETE  http://10.2.3.223:5000/v1/repositories/base/
参考文档
  • https://yeasy.gitbooks.io/docker_practice/content/repository/local_repo.html

你可能感兴趣的:(Docker 1.12.0 Registry (CentOS7) 私有仓库)