- 下载docker-compose(需先安装docker安装)
sudo curl -L "https://github.com/docker/compose/releases/download/1.28.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
更改权限,移动到bin文件夹
[root@node0 ~]# chmod +x docker-compose #添加执行权限
[root@node0 ~]# mv docker-compose /usr/local/bin/
[root@node0 ~]# which docker-compose
/usr/local/bin/docker-compose
[root@node0 ~]# docker-compose -v #查看版本
docker-compose version 1.28.5, build c4eb3a1f
- 下载解压habor
[root@node0 ~]# wget https://github.com/goharbor/harbor/releases/download/v2.2.0/harbor-offline-installer-v2.2.0.tgz
[root@node0 ~]# tar -xf harbor-offline-installer-v2.2.0.tgz -C /usr/local/
- 复制yml文件
[root@node0 harbor]# cp harbor.yml.tmpl harbor.yml
[root@node0 harbor]# vim harbor.yml
...
hostname: 192.168.94.142 //更改ip
...
# https related config //注释https相关配置
# 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
...
# Remember Change the admin password from UI after launching Harbor.
harbor_admin_password: Abc12345 //更改默认密码
- 安装
[root@node0 harbor]# ./install.sh
...
✔ ----Harbor has been installed and started successfully.----
//查看镜像启动
[root@node0 harbor]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 127.0.0.1:1514 0.0.0.0:*
LISTEN 0 128 0.0.0.0:80 0.0.0.0:*
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 128 *:2375 *:*
LISTEN 0 128 [::]:22 [::]:*
[root@node0 harbor]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3d6af2fc956c goharbor/harbor-jobservice:v2.2.0 "/harbor/entrypoint.…" About a minute ago Up About a minute (healthy) harbor-jobservice
9884501665c6 goharbor/nginx-photon:v2.2.0 "nginx -g 'daemon of…" About a minute ago Up About a minute (healthy) 0.0.0.0:80->8080/tcp nginx
494b281f03a5 goharbor/harbor-core:v2.2.0 "/harbor/entrypoint.…" About a minute ago Up About a minute (healthy) harbor-core
a957703e5827 goharbor/harbor-registryctl:v2.2.0 "/home/harbor/start.…" About a minute ago Up About a minute (healthy) registryctl
113d9b18befd goharbor/registry-photon:v2.2.0 "/home/harbor/entryp…" About a minute ago Up About a minute (healthy) registry
80ab4278ee87 goharbor/redis-photon:v2.2.0 "redis-server /etc/r…" About a minute ago Up About a minute (healthy) redis
cbdbb08f1380 goharbor/harbor-db:v2.2.0 "/docker-entrypoint.…" About a minute ago Up About a minute (healthy) harbor-db
832d365cebe5 goharbor/harbor-portal:v2.2.0 "nginx -g 'daemon of…" About a minute ago Up About a minute (healthy) harbor-portal
6916d051cecb goharbor/harbor-log:v2.2.0 "/bin/sh -c /usr/loc…" About a minute ago Up About a minute (healthy) 127.0.0.1:1514->10514/tcp harbor-log
- 设置开机启动脚本
[root@node0 harbor]# vim startall.sh
#! /bin/bash
cd /usr/local/harbor
docker-compose stop && docker-compose start
// 为rc.loacl和脚本增加执行权限
[root@node0 harbor]# chmod +x startall.sh
[root@node0 harbor]# chmod +x /etc/rc.d/rc.local
[root@node0 harbor]# chmod +x /etc/rc.local
[root@node0 ~]# vim /etc/rc.local
#!/bin/bash
/bin/bash /usr/local/harbor/startall.sh
输入ip访问
创建用户
创建项目
为项目添加用户
查看推送命令
- 推送镜像
//添加insecure-registries本机ip,重启守护进程
[root@node0 harbor]# vim /etc/docker/daemon.json
{
"insecure-registries": ["192.168.94.142"]
}
//重启守护进程和compose
[root@node0 harbor]# systemctl daemon-reload
[root@node0 harbor]# systemctl restart docker.service
[root@node0 harbor]# docker-compose start
//登入本地仓库(需在harbor界面创建用户)
[root@node0 harbor]# docker login 192.168.94.142
Username: test
Password: (Abc12345)不可见
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
//开启harbor
[root@node0 harbor]# docker-compose start
//更改镜像tag
[root@node0 harbor]# docker tag web/apache:v0.29 192.168.94.142/test/apache:v0.1
//推送镜像
[root@node0 harbor]# docker push 192.168.94.142/test/apache:v0.1
The push refers to repository [192.168.94.142/test/apache]
6b60cf6bb9e2: Pushed
c49c9257852a: Pushed
ca2e3fed593b: Pushed
e7b817d9b79a: Pushed
c04d1437198b: Pushed
v0.1: digest: sha256:ef6dc24e0cc0b9d7ac94fe52c34525d7f59517aeae16f9e9e430d1d078ce09ca size: 1372