安装依赖包
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
解决方法的参考文档
配置
- 配置文件路径:/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工具的官网网址
参考网址
指定私有仓库地址
创建或修改
/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
参考网址
上传、下载、搜索、删除
上传镜像
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/
网友评论