搭建Docker私有镜像仓库系统 Harbor

       Harbor由VMware公司出品,功能还是很强大,可以自行搭建一个私有Docker镜像仓库,在权限控制、镜像管理很方便。

本文以harbor1.2.0 为例进行安装。

      一、准备

      1、找一台虚拟机或独立Linux系统设备都可以,我的环境是 centos7.2.

      2、需要首先安装docker和docker-compose 。

           如果需要安装方法可以参考 https://blog.csdn.net/LUCKWXF/article/details/95958760  

                                                       https://blog.csdn.net/LUCKWXF/article/details/96131392

      3、下载harbor 离线安装文件:https://github.com/vmware/harbor/releases/download/v1.2.0/harbor-offline-installer-v1.2.0.tgz

    二、开始安装

    1、root用户,进入~目录。

    上传harbor-offline-installer-v1.2.0.tgz到该目录

    tar -zxvf harbor-offline-installer-v1.2.0.tgz
    mv harbor  /usr/local

    2、创建证书及配置
    openssl genrsa -des3 -out server.key 2048

    [记住这步你设置的私钥密码]

    3、openssl req -new -key server.key -out server.csr   --创建证书请求

    [输入刚才的私钥]

    提示下:国家输入:CN    省份、城市都输入:BJ (根据你的需要)

    组织:输入你的英文单位名称(如:myunitname) 

    地址:如:hub.myunitname.com   (根据实际,建议myunitname.com 用你单位的域名)

    接下来输入管理员邮件地址。

   4、退秘钥,Nigx容器里没法接受秘钥。

  cp server.key server.key.org

  openssl rsa -in server.key.org -out server.key

 [输入私钥密码]

 5、创建证书:

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
mkdir -p /data/cert
chmod -R 777 /data/cert
mv server.* /data/cert

6、安装 Harbor

cd /usr/local/harbor
vim harbor.cfg

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

#修改hostname

hostname: hub.myunitname.com 

#修改协议为https

ui_url_protocol = https

#修改管理员密码(可以采用默认,但这是不安全的)

harbor_admin_password: **********【设置你的管理员密码符合安全策略】

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

保存后退出;
./install.sh   --进行安装;需要耐心等待。

注意80端口不要被其他程序占用,Ngix容器要用到。

安装成功后会有如下容器被启动:

7、修改下

vim  /etc/docker/daemon.json

{
    "insecure-registries":["hub.myunitname.com"]    --注意4个空格
}

vim /etc/hosts
【你服务器的IP地址】    hub.myunitname.com

8、重新启动下docker

systemctl restart docker

备注:如果彻底重启可参考

systemctl daemon-reload
systemctl restart docker
docker-compose down -v
docker-compose up -d
 

三、windows客户端访问

客户端 修改下 C:\Windows\System32\drivers\etc\hosts 
-------------------------------------------------------------------------------------
【你服务器的IP地址如:192.168.0.160】   hub.myunitname.com
------------------------------------------------------------------------------------

打开浏览器输入 : https://hub.myunitname.com  正常就可以访问了。

用管理员admin 登录进入,建立其他账号、新建仓库都可以了。默认有个公用的libray库。

创建一个私有仓库 testlib 

四、测试PUSH、PULL镜像。

找个linux客户端,修改下

vim  /etc/docker/daemon.json

{
    "insecure-registries":["hub.myunitname.com"]    --注意4个空格
}

vim /etc/hosts
【你服务器的IP地址】    hub.myunitname.com

systemctl restart docker

docker pull hello-world    【从Docker仓库下载】
docker images  【查看已有镜像】

上传镜像

docker login hub.myunitname.com
docker tag hello-world:latest  hub.myunitname.com/testlib/hello-world:v1.0
docker push   hub.myunitname.com/testlib/hello-world:v1.0     --testlib是上面创建的仓库

下载镜像

docker pull   hub.myunitname.com/testlib/hello-world:v1.0

说明:

hub.myunitname.com--是仓库地址

testlib--项目名称

hello-world-镜像名称

:v1.0 --版本号

(结束)

发布了40 篇原创文章 · 获赞 8 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/LUCKWXF/article/details/98613972