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

Dear 丶 2021-11-08 16:12 595阅读 0赞
  1. HarborVMware公司出品,功能还是很强大,可以自行搭建一个私有Docker镜像仓库,在权限控制、镜像管理很方便。

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

  1. 一、准备
  2. 1、找一台虚拟机或独立Linux系统设备都可以,我的环境是 centos7.2.
  3. 2、需要首先安装dockerdocker-compose
  4. 如果需要安装方法可以参考 [https://blog.csdn.net/LUCKWXF/article/details/95958760][https_blog.csdn.net_LUCKWXF_article_details_95958760]
  5. [https://blog.csdn.net/LUCKWXF/article/details/96131392][https_blog.csdn.net_LUCKWXF_article_details_96131392]
  6. 3、下载harbor 离线安装文件:[https://github.com/vmware/harbor/releases/download/v1.2.0/harbor-offline-installer-v1.2.0.tgz][https_github.com_vmware_harbor_releases_download_v1.2.0_harbor-offline-installer-v1.2.0.tgz]
  7. 二、开始安装
  8. 1root用户,进入~目录。
  9. 上传[harbor-offline-installer-v1.2.0.tgz][https_github.com_vmware_harbor_releases_download_v1.2.0_harbor-offline-installer-v1.2.0.tgz]到该目录
  10. tar -zxvf harbor-offline-installer-v1.2.0.tgz
  11. mv harbor /usr/local
  12. 2、创建证书及配置
  13. openssl genrsa -des3 -out server.key 2048
  14. \[记住这步你设置的私钥密码\]
  15. 3openssl req -new -key server.key -out server.csr --创建证书请求
  16. \[输入刚才的私钥\]
  17. 提示下:国家输入:CN 省份、城市都输入:BJ (根据你的需要)
  18. 组织:输入你的英文单位名称(如:myunitname
  19. 地址:如:hub.myunitname.com (根据实际,建议myunitname.com 用你单位的域名)
  20. 接下来输入管理员邮件地址。

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容器要用到。

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

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xVQ0tXWEY_size_16_color_FFFFFF_t_70

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 —版本号

(结束)

发表评论

表情:
评论列表 (有 0 条评论,595人围观)

还没有评论,来说两句吧...

相关阅读