美文网首页
安装Harbor1.6 企业级镜像仓库

安装Harbor1.6 企业级镜像仓库

作者: 那个_夏天 | 来源:发表于2018-10-26 10:41 被阅读0次

    Harbor 1.6 安装

    环境

    Centos:CentOSLinuxrelease7.5.1804Docker:Dockerversion18.06.1-ce,builde68fc7aDocker-composer:docker-composeversion1.20.0,buildca8d3c6Harbor:harbor-online-installer-v1.6.0.tgz

    docker-composer

    $ curl -Lhttps://github.com/docker/compose/releases/download/1.20.0/docker-compose-`uname -s`-`uname -m`>/usr/local/bin/docker-compose$ chmod +x /usr/local/bin/docker-compose

    download harbor

    选择在线安装方式,离线版本也可以,就是在安装包比较大

    $ wgethttps://storage.googleapis.com/harbor-releases/release-1.6.0/harbor-online-installer-v1.6.0.tgz

    解压并配置harbor

    #创建工作目录

    mkdir -p /home/docker_data/Harbor

    #删除软链接(如果存在,请注意不要误删)

    rm -r /data

    #创建软链接

    ln -s /home/docker_data/Harbor /data

    #创建证书目录

    mkdir /data/cert

    #赋权

    chmod -R 777 /home/docker_data/Harbor

    chmod -R 777 /data

    #创建证书 www.harbor.com

    1[root@www cert]# openssl req -newkey rsa:4096 -nodes -sha256 -keyout /data/cert/ca.key -x509 -days 3650 -out /data/cert/ca.crt

    ----------------------------------------------------------------------------------------------------------------

    Generating a 4096 bit RSA private key

    ...........................................................................................................................................++

    ................................++

    writing new private key to '/data/cert/ca.key'

    -----

    You are about to be asked to enter information that will be incorporated

    into your certificate request.

    What you are about to enter is what is called a Distinguished Name or a DN.

    There are quite a few fields but you can leave some blank

    For some fields there will be a default value,

    If you enter '.', the field will be left blank.

    -----

    Country Name (2 letter code) [XX]:CN

    State or Province Name (full name) []:bj

    Locality Name (eg, city) [Default City]:bj

    Organization Name (eg, company) [Default Company Ltd]:bj

    Organizational Unit Name (eg, section) []:bj

    Common Name (eg, your name or your server's hostname) []:www.harbor.com

    Email Address []:test@bj.com.cn

    -----------------------------------------------------------------------------------------------------------------------------------------------

    [root@www cert]# openssl req -newkey rsa:4096 -nodes -sha256 -keyout /data/cert/www.harbor.com.key -out /data/cert/www.harbor.com.csr

    -----------------------------------------------------------------------------------------------------------------------------------------------

    Generating a 4096 bit RSA private key

    ............++

    ............................................++

    writing new private key to '/data/cert/www.harbor.com.key'

    -----

    You are about to be asked to enter information that will be incorporated

    into your certificate request.

    What you are about to enter is what is called a Distinguished Name or a DN.

    There are quite a few fields but you can leave some blank

    For some fields there will be a default value,

    If you enter '.', the field will be left blank.

    -----

    Country Name (2 letter code) [XX]:CN

    State or Province Name (full name) []:bj

    Locality Name (eg, city) [Default City]:bj

    Organization Name (eg, company) [Default Company Ltd]:bj

    Organizational Unit Name (eg, section) []:bj

    Common Name (eg, your name or your server's hostname) []:www.harbor.com

    Email Address []:test@bj.com.cn

    Please enter the following 'extra' attributes

    to be sent with your certificate request

    A challenge password []:

    An optional company name []:

    ------------------------------------------------------------------------------------------------------------------------------------------

    3[root@www cert]# openssl x509 -req -days 3650 -in /data/cert/www.harbor.com.csr -CA /data/cert/ca.crt -CAkey /data/cert/ca.key -CAcreateserial -out /data/cert/www.harbor.com.crt

    ------------------------------------------------------------------------------------------------------------------------------------------

    Signature ok

    subject=/C=CN/ST=bj/L=bj/O=bj/OU=bj/CN=www.bj.harbor.com/emailAddress=test@bj.com.cn

    Getting CA Private Key

    解压并配置harbor

    $ tar xf  harbor-online-installer-v1.6.0.tgz$ cd harbor

    #配置harbor.cfg,关键配置项

    hostname = www.harbor.com:8088

    ui_url_protocol = https

    ssl_cert = /data/cert/www.harbor.com.crt

    ssl_cert_key = /data/cert/www.harbor.com.key

    harbor_admin_password = Harbor123456

    #配置 docker-compose.yml ,关键配置项

    ports:

      - 8081:80

      - 8088:443

      - 4443:4443

    #部署

    chmod -R 777 *

    ./install.sh

    #访问

    https://IP:8088

    https://www.harbor.com:8088 (需配置hosts或搭建DNS服务器)

    #Docker 客户端配置

    #修改HOSTS文件(非必需)

    vi /etc/hosts

    IP  www.harbor.com

    #创建目录

    mkdir /etc/docker/certs.d

    mkdir /etc/docker/certs.d/www.harbor.com:8088

    # 拷贝ca.crt到/etc/docker/certs.d/www.harbor.com:8089

    chmod 777 /etc/docker/certs.d/www.harbor.com:8088/ca.crt

    cp -f /etc/docker/certs.d/www.harbor.com:8088/ca.crt /etc/pki/ca-trust/source/anchors/ca.crt

    证书只是用于https所有

    update-ca-trust

    #注意!!!不必重启 docker 服务

    #登陆验证

    docker login --username=admin --password=Harbor123456 www.harbor.com:8088/

    接下来向Harbor推一个镜像:

    1、首先在Harbor上创建一个项目”bj”。(推荐不要用admin用户,新建一个用户)

    2、查看本地的镜像:

    root@docker:~# docker images

    REPOSITORY          TAG                IMAGE ID            CREATED            SIZE

    jenkins            2.112              21d71a370755        4 months ago        815MB

    rancher            v1.6.11            6c4395b5515a        8 months ago        970MB

    3、给”jenkins”这个镜像打上tag:

    docker tag 21d71a370755 www.harbor.com:8088/bj/jenkins:2.112

    4、推送至Harbor:

    root@docker:~# docker push www.harbor.com:8088/bj/jenkins:2.112

    The push refers to a repository [www.harbor.com:8088/bj/jenkins]

    1206d45cbbbb: Pushed

    c5a57a65b805: Pushed

    482ab61ab3ea: Pushed

    7d7236ad0e61: Pushed

    4b622a1887bb: Pushed

    13f00c4fe026: Pushed

    6a9badfe78e2: Pushed

    d0c4c512b2e9: Pushed

    34d2a7a215ad: Pushed

    29ebe0863109: Pushed

    43591c877745: Pushed

    e95144644244: Pushed

    d35dd2235ffe: Pushed

    88b33af4b42c: Pushed

    a6b86e3ee470: Pushed

    7e912d203101: Pushed

    638babc3b650: Pushed

    0ef6a87794b5: Pushed

    20c527f217db: Pushed

    61c06e07759a: Pushed

    bcbe43405751: Pushed

    e1df5dc88d2c: Pushed

    2.112: digest: sha256:30ff8d6c06d287fcf79f28bb93a98ba07f3a275b10f8e85bb0d9e122797b06bc size: 4919

    5.在Harbor上bj项目下可以看到这个镜像

    6.拉取上传的镜像 (重要:要是客户端要配置hosts文件本地重定向至harbor服务器IP)

    [root@www home]# docker pull www.harbor.com:8088/bj/jenkins:2.112

    2.112: Pulling from bj/jenkins

    c73ab1c6897b: Pull complete

    1ab373b3deae: Pull complete

    b542772b4177: Pull complete

    57c8de432dbe: Pull complete

    da44f64ae999: Pull complete

    0bbc7b377a91: Pull complete

    1b6c70b3786f: Pull complete

    48010c1717c7: Pull complete

    7a6123cacadf: Pull complete

    0328005fa00f: Pull complete

    0fea27bea434: Pull complete

    3637d4ffed7f: Pull complete

    0955f498aa90: Pull complete

    61dd5dfd4199: Pull complete

    e32c19b28f74: Pull complete

    bf2f3fca31b5: Pull complete

    c3d384d8681a: Pull complete

    0fa50f757ae4: Pull complete

    f4be1cdbaa43: Pull complete

    67107c2a412f: Pull complete

    80dd755e5377: Pull complete

    00a55451a86f: Pull complete

    Digest: sha256:30ff8d6c06d287fcf79f28bb93a98ba07f3a275b10f8e85bb0d9e122797b06bc

    Status: Downloaded newer image for www.harbor.com:8088/bj/jenkins:2.112

    相关文章

      网友评论

          本文标题:安装Harbor1.6 企业级镜像仓库

          本文链接:https://www.haomeiwen.com/subject/jmlktqtx.html