企业级私有Docker仓库Harbor搭建

来源:互联网 发布:一张蓝图绘到底知乎 编辑:程序博客网 时间:2024/06/04 17:43

企业级私有Docker仓库Harbor搭建

根据 Harbor官网 整理

1、请确认安装了Docker1.6以上版本并配置好Docker镜像源加速器

使用默认源几乎无法完成,以下为Docker1.10的Docker镜像源加速器配置示例

ExecStart=/usr/bin/dockerd-current \
–registry-mirror=https://docker.mirrors.ustc.edu.cn

2、下载安装好docker-compose1.6以上版本

详见 docker-compose官网地址

    curl -L https://github.com/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

3、从官网下载在线安装包:harbor-online-installer-0.5.0.tgz

离线安装包方式试了很多次,几乎无法下载

4、解压安装包

    tar -zxvf harbor-online-installer-0.5.0.tgz

5、配置https方式访问harbor

执行以下生成证书脚本(需要输入宿主机IP)

    #!/bin/bash    set -e    read -p "Please input IP domain: " IP    openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 365 -out ca.crt<<EOF    CN    BJ    BJ    H3C    CLOUD    ${IP}    zhang.xiangui@h3c.com    EOF    openssl req -newkey rsa:4096 -nodes -sha256 -keyout ${IP}.key -out ${IP}.csr<<EOF    CN    BJ    BJ    H3C    CLOUD    zhangxiangui    zhang.xiangui@h3c.com    Harbor12345    h3c    EOF    echo subjectAltName = IP:${IP} > extfile.cnf    openssl x509 -req -days 365 -in ${IP}.csr -CA ca.crt -CAkey ca.key -CAcreateserial -extfile extfile.cnf -out ${IP}.crt    mkdir -p /etc/docker/certs.d/${IP}    cp ca.crt /etc/docker/certs.d/${IP}/    mkdir -p /root/cert/    cp ${IP}.crt ${IP}.key /root/cert/    cp ${IP}.crt /etc/pki/ca-trust/source/anchors/    update-ca-trust    echo "Finish!!"

执行完以上脚本后在脚本的同级目录下会产生类似以下文件(123.56.9.74会替换成你的IP):

    123.56.9.74.crt  123.56.9.74.key  ca.crt  ca.srl    123.56.9.74.csr  ca.key  extfile.cnf

配置harbor.cfg

    ...    hostname = 123.56.9.74 (请配置成你的IP)    ...    ui_url_protocol = https    ...    harbor_admin_password = Harbor12345(请配置管理员登录密码)    ...    ssl_cert = /root/cert/123.56.9.74.crt (替换你的IP即可)    ssl_cert_key = /root/cert/123.56.9.74.key(替换你的IP即可)    ...

5、执行安装程序

    ./install

6、客户端登录Harbor并推送镜像

1、新建/etc/docker/certs.d/客户端IP/目录,将之前脚本产生的ca.crt证书拷贝到其下

2、登录并推送:

    docker login -u admin -p Harbor12345 123.56.9.74    docker tag library/registry:2.5.0 123.56.9.74/library/registry:2.5.0    docker push 123.56.9.74/library/registry:2.5.0

注意事项

1、生成证书的脚本中的 zhangxiangui 除了不能使用${IP}外,其余均可使用。

2、配置http访问方式的话,需要在docker服务中添加 --insecure-registry=123.56.9.74 并重启Docker服务才能推送和下载镜像。

0 0
原创粉丝点击