1. 程式人生 > >Centos版的安裝docker-registry私有倉庫

Centos版的安裝docker-registry私有倉庫

docker-registry私有倉庫


# yum groupinstall -y "Development Tools"
# yum -y install epel-release #需要安裝python-pip的擴展源
# yum -y install python-dev* libevent-dev* python-pip* openssl-devel xz-devel libffi-dev*
# [root@docker1 ~]# git clone https://github.com/docker/docker-registry.git
Cloning into 'docker-registry'...
remote: Counting objects: 7007, done.
remote: Total 7007 (delta 0), reused 0 (delta 0), pack-reused 7007
Receiving objects: 100% (7007/7007), 1.69 MiB | 334.00 KiB/s, done.
Resolving deltas: 100% (4099/4099), done.
# cd docker-registry
# ls
ADVANCED.md CHANGELOG.md config CONTRIBUTING.md depends docker_registry FAQ.md MANIFEST.in requirements setup.cfg tests AUTHORS circle.yml contrib DEBUGGING.md Dockerfile DRIVERS.md LICENSE README.md scripts setup.py tox.ini
② 然後基於樣例創建配置文件:
# cp config/config_sample.yml config/config.yml
修改local模版段的storage_path到本地的存儲倉庫的路徑,例如:/tmp/registry更改為/opt/data/registry。
# vi config/config.yml
......
local: &local
<<: *common
storage: local
storage_path: _env:STORAGE_PATH:/opt/data/registry
......
③ 需要安裝M2Crypto RSA加密、解密
1.手動安裝 M2Crypto 0.22.3
# wget https://pypi.python.org/packages/source/M/M2Crypto/M2Crypto-0.22.3.tar.gz #下載源碼
# tar zxvf M2Crypto/M2Crypto-0.22.3.tar.gz # 解壓
# cd M2Crypto-0.22.3

2. 然後創建安裝腳本,內容如下:
# vim fedora_setup.sh
#!/bin/sh
# This script is meant to work around the differences on Fedora Core-based# distributions (Redhat, CentOS, ...) compared to other common Linux
# distributions.
#
# Usage: ./fedora_setup.sh [setup.py options]
#

arch=`uname -m`
for i in SWIG/_{ec,evp}.i; do
sed -i -e "s/opensslconf\./opensslconf-${arch}\./" "$i"
done

SWIG_FEATURES=-cpperraswarn python setup.py $*

3. 然後為腳本添加執行權限,執行腳本,並安裝M2Crypto 0.22.3
# chmod +x fedora_setup.sh
# ./fedora_setup.sh build
# python setup.py install
# echo $? #返回值為0,則安裝成功

解決方法是在docker的配置文件裏面OPTIONS添加 –insecure-registry http://10.0.0.10:5000 選項
# /etc/sysconfig/docker

# Modify these options if you want to change the way the docker daemon runs
OPTIONS='--selinux-enabled --insecure-registry 10.0.0.10:5000'
DOCKER_CERT_PATH=/etc/docker
然後重啟docker服務:



OPTIONS='--selinux-enabled --insecure-registry 10.0.0.10:5000'
DOCKER_CERT_PATH=/etc/docker

④ 然後執行安裝操作:
# python setup.py install
# echo $? #返回值為0,則安裝成功
對於通過軟件包方式安裝的,配置文件一般需要放在
/usr/local/lib/python2.7/dist-packages/docker_registry/config/cpnfig.yml

⑤ 此時,可以通過下面的命令來啟動(nohup commend &; jobs -l查看進程):
# gunicorn --access-logfile /var/log/docker-registry/access.log --error-logfile /var/log/docker-registry/server.log -k gevent --max-requests 100 --graceful-timeout 3600 -t 3600 -b 127.0.0.1:5000 -w 1 docker_registry.wsgi:application
# curl 127.0.0.1:5000

⑥ 配置服務腳本:
一般通過服務腳本來管理registry服務會更加方便,以centos系統為例:

Centos版的安裝docker-registry私有倉庫