简介:
Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署私有环境内的Registry也是非常必要的。
Habor是由VMWare公司开源的容器镜像仓库,我们就用Harbor搭建自己的镜像仓库吧。
事实上,Habor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面,基于角色的访问控制,AD/LDAP集成以及审计日志等,足以满足基本企业需求。
组件功能
harbor-adminserver配置管理中心
harbor-dbMysql数据库(新版本用PostgreSQL)
harbor-jobservice负责镜像复制
harbor-log记录操作日志
harbor-uiWeb管理页面和API
nginx前端代理,负责前端页面和镜像上传/下载转发
redis会话
registry镜像存储
安装准备 :需要安装Docker、Docker-compose
docker-compose 安装如下:
sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# 对二进制文件应用可执行权限
chmod +x /usr/local/bin/docker-compose
docker-compose --version
harbor离线安装:
下载:
wget https://github.com/goharbor/harbor/releases/download/v2.1.3/harbor-offline-installer-v2.1.3.tgz
tar -zxvf harbor-offline-installer-v2.1.3.tgz -C /usr/local/
cd /usr/local/harbor/
cp harbor.yml.tmpl harbor.yml
vim harbor.yml
#修改以下内容
hostname = ip #修改harbor的启动ip,这里需要依据系统ip设置
port: 80 #harbor的端口,有两个端口,http协议(80)和https协议(443)
harbor_admin_password = harbor12345 #修改harbor的admin用户的密码
data_volume: /harbor/data #修改harbor存储位置
注意把https的配置注释掉,后期如有需要可以自行配置
执行./prepare安装前准备
执行./install.sh #安装Harbor
查看 docker-compose ps

增加dockers的配置
vim /etc/docker/daemon.json
增加配置:"insecure-registries":["ip:port"]
重启docker
发现harbor容器没有起起来,将harbor注册系统服务
vim /lib/systemd/system/harbor.service
[Unit]
Description=Harbor
After=docker.service systemd-networkd.service systemd-resolved.service
Requires=docker.service
Documentation=http://github.com/vmware/harbor
[Service]
Type=simple
Restart=on-failure
RestartSec=5
#需要注意harbor的安装位置
ExecStart=/usr/local/bin/docker-compose -f /usr/local/harbor/docker-compose.yml up
ExecStop=/usr/local/bin/docker-compose -f /usr/local/harbor/docker-compose.yml down
[Install]
WantedBy=multi-user.target
设置启动服务
systemctl enable harbor
systemctl start harbor