Harbor
Harbor官网:Harbor (goharbor.io)
Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署私有环境内的Registry也是非常必要的
Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能
安装Harbor
- 下载镜像,安装docker-compose
[root@server ~]# wget https://github.com/goharbor/harbor/releases/download/v2.3.1/harbor-offline-installer-v2.3.1.tgz[root@server h~]# yum install docker-compose -y
- 解压
[root@server ~]# tar xzvf harbor-offline-installer-v2.3.1.tgz
- 拷贝配置文件,去注释
[root@server ~]# cd harbor[root@server harbor]# lscommon.sh harbor.v2.3.1.tar.gz harbor.yml.tmpl install.sh LICENSE prepare[root@server harbor]# cp harbor.yml.tmpl harbor.yml[root@server harbor]# grep -Ev '#|^$' harbor.yml.tmpl > harbor.yml
- 查看配置文件
/root/harbor/harbor.yml

- 对配置文件进行修改
[root@server harbor]# vim harbor.yml
hostname: 192.168.31.99
http:
port: 80
harbor_admin_password: Harbor12345
database:
password: root123
max_idle_conns: 100
max_open_conns: 900
data_volume: /data
trivy:
ignore_unfixed: false
skip_update: false
insecure: false
jobservice:
max_job_workers: 10
notification:
webhook_job_max_retry: 10
chart:
absolute_url: disabled
log:
level: info
local:
rotate_count: 50
rotate_size: 200M
location: /var/log/harbor
_version: 2.3.0
proxy:
http_proxy:
https_proxy:
no_proxy:
components:
- core
- jobservice
- trivy
- 安装Harbor
[root@server harbor]# ./prepare
[root@server harbor]# ./install.sh
在执行完这俩条命令之后,在harbor目录下就会有一个docker-compose.yml文件
之后的启动关闭可以通过docker-compose管理,自动生成docker-compose.yml文件

- 查看端口是否启动(80端口)

Web界面
安装完成后,就可以访问IP地址进入Harbor的Web界面了,如下图所示
用户名为admin
密码为Harbor12345

登录之后的页面

新建项目

进入这个项目,点击推送命令,会有推送教程

- 登录到仓库前的配置
# 修改json文件,否则登录会出错
[root@server ~]# vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://lgni0v8s.mirror.aliyuncs.com"],
"insecure-registries": ["192.168.31.99"]
}
# 重启服务
[root@server ~]# systemctl daemon-reload
[root@server ~]# systemctl restart docker
[root@server ~]# cd /root/harbor/
[root@server harbor]# docker-compose up -d
- 登录仓库
[root@server harbor]# docker login 192.168.31.99
Username: admin
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
- 打标签以及推送镜像
[root@server harbor]# docker tag nginx:v1 192.168.31.99/project/nginx:v1
[root@server harbor]# docker push 192.168.31.99/project/nginx:v1
The push refers to repository [192.168.31.99/project/nginx]
ed653d229c55: Pushed
0434051e19d0: Pushed
436be098e532: Pushed
0c042312b037: Pushed
174f56854903: Pushed
v1: digest: sha256:bd8ebcdd082039f048bb0ab4f2aabd429e9615c773df92412b0310e198007137 size: 1372


点击也可以进行复制拉取镜像

