1、在安装docker的环境中安装docker-compose
这里docker我用的19.03.14
安装docker-compose
curl -L "https://get.daocloud.io/docker/compose/releases/download/1.27.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
赋权
chmod +x /usr/local/bin/docker-compose
2、下载Harbor离线安装包
这里用的版本是v1.10.6
下载地址:https://github.com/goharbor/harbor/releases/download/v1.10.6/harbor-offline-installer-v1.10.6.tgz
拷贝到服务器,解压
tar -zvxf harbor-offline-installer-v1.10.6.tgz
3、加载离线镜像
进入解压后的harbor目录
docker load -i harbor.v1.10.6.tar.gz
4、修改配置文件
进入harbor目录:
修改harbor.yml
hostname: 192.168.100.91
#customize_crt: false
# http related config
http:
# port for http, default is 80. If https enabled, this port will redirect to https port
port: 88
# https related config
#https:
# https port for harbor, default is 443
# port: 443
# The path of cert and key files for nginx
# certificate: /your/certificate/path
# private_key: /your/private/key/path
将hostname修改为本机的IP
如果HTTP端口有冲突,修改其端口
将https相关配置注释
5、安装
运行./prepare
./install.sh
等待安装一会儿
查看Harbor状态:
[root@localhost harbor]# docker-compose ps
Name Command State Ports
---------------------------------------------------------------------------------------------
harbor-core /harbor/harbor_core Up (healthy)
harbor-db /docker-entrypoint.sh Up (healthy) 5432/tcp
harbor-jobservice /harbor/harbor_jobservice ... Up (healthy)
harbor-log /bin/sh -c /usr/local/bin/ ... Up (healthy) 127.0.0.1:1514->10514/tcp
harbor-portal nginx -g daemon off; Up (healthy) 8080/tcp
nginx nginx -g daemon off; Up (healthy) 0.0.0.0:80->8080/tcp
redis redis-server /etc/redis.conf Up (healthy) 6379/tcp
registry /home/harbor/entrypoint.sh Up (healthy) 5000/tcp
registryctl /home/harbor/start.sh Up (healthy)
可以进入habor目录使用docker-compose stop/start
控制habor启停
如果有警告
WARNING: IPv4 forwarding is disabled. Networking will not work.
配置一个IPV4转发:
echo "net.ipv4.ip_forward=1" >>/usr/lib/sysctl.d/00-system.conf
systemctl restart network
systemctl restart docker
docker-compose restart
6、登录
从浏览器登陆http://[设置的hostname]:[设置的port]
默认用户名密码admin/Harbor12345
7、使用Harbor下载和推送镜像
修改本地docker配置,允许HTTP
vi /etc/docker/daemon.json
添加
{
"insecure-registries": ["192.168.100.96:80"]
}
运行
systemctl daemon-reload
systemctl restart docker
启动下harbor
docker-compose start
登录harbor
docker login -u admin -p Harbor12345 192.168.100.96:80
推送
本地有个镜像:192.168.100.91:80/consumer-test
打标签:
docker tag 192.168.100.91:80/consumer-test:0.1.0 192.168.100.96:80/library/consumer-test:0.1.0
注意这里的library,因为默认项目是library
docker push 192.168.100.96:80/library/consumer-test:0.1.0
查看harbor界面,能看到推送的镜像:
下载镜像
删除本机刚才的镜像
docker rmi192.168.100.96:80/library/consumer-test:0.1.0
从harbor下载:
docker pull 192.168.100.96:80/library/consumer-test:0.1.0
使用docker images
会看到下载的镜像