1,环境安装的软件及版本:
linux : version centos7.3
Docker:version 1.12.6
Docker-compose: version 1.13.0
Harbor: version 1.1.2
Harbor是基于docker registry V2版本,所以要求docker版本不小于1.10.0,docker-compose版本不小于1.8.0,centos7 yum安装docker就可以满足版本要求。
2,请自行安装centos7.3系统,设置好网络和防火墙
网络需要能访问外网,
vim /etc/sysconfig/network-scripts/ifcfg-eno16777736
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=no
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777736
UUID=71c2c872-0682-4d95-a1dd-ec478dbd9385
DEVICE=eno16777736
ONBOOT=yes
IPADDR=192.168.1.4
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=114.114.114.114
设置完成后重启网路
systemctl restart network.service
下面关闭防火墙
setenforce 0
systemctl stop firewalld
systemctl disable firewalld
3,设置yum源和安装docker
cd /etc/yum.repos.d/
wget http://mirrors.aliyun.com/repo/Centos-7.repo
wget http://mirrors.aliyun.com/repo/epel-7.repo
yum -y install epel-release
yum install -y docker
安装成后修改配置文件
vim /etc/sysconfig/docker
此版本docker默认是开启容器的selinux,所以要注释掉之前的
注释掉其他项,然后添加下面一句,IP为虚拟机的网络IP地址
OPTIONS='--insecure-registry 192.168.1.4'
启动docker
systemctl start docker
docker pull busybox 下载busybox镜像
docker images
4,安装docker-compose
cd /usr/local/bin/
curl -L https://github.com/docker/compose/releases/download/1.13.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
下载完成后添加执行权限
chmod +x /usr/local/bin/docker-compose
接着检查安装的版本是否成功
docker-compose --version
docker-compose version 1.13.0, build 1719ceb
看到版本正是1.13,这个版本可以选择很多,比如新的1.17.0版本就可以用下载的命令
curl -L https://github.com/docker/compose/releases/download/1.17.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
命令docker-compose down -v 停止harbor服务
docker-compose up -d 启动harbor服务
5,安装harbor服务
可以登录到GitHub上选择可用的版本,最新的是1.3.0,建议用一个老一点的版本1.1或者1.2。
https://github.com/vmware/harbor/releases?after=v1.2.0-rc3
下载离线版
cd /usr/local/
wget https://github.com/vmware/harbor/releases/download/v1.1.2/harbor-offline-installer-v1.1.2.tgz
tar zxf harbor-offline-installer-v1.1.2.tgz
进入目录修改配置
cd harbor/
vim harbor.cfg
#只需修改hostname的ip即可,其他可以保持默认,默认登录密码Harbor12345
hostname = 192.168.1.4
ui_url_protocol = http
db_password = root123
max_job_workers = 3
customize_crt = on
ssl_cert = /data/cert/server.crt
ssl_cert_key = /data/cert/server.key
secretkey_path = /data
admiral_url = NA
email_identity =
email_server = smtp.mydomain.com
email_server_port = 25
email_username = sample_admin@mydomain.com
email_password = abc
email_from = admin <sample_admin@mydomain.com>
email_ssl = false
harbor_admin_password = Harbor12345
auth_mode = db_auth
ldap_url = ldaps://ldap.mydomain.com
ldap_searchdn = uid=searchuser,ou=people,dc=mydomain,dc=com
ldap_search_pwd = password
ldap_basedn = ou=people,dc=mydomain,dc=com
ldap_filter = (objectClass=person)
ldap_uid = uid
ldap_scope = 3
ldap_timeout = 5
self_registration = on
token_expiration = 30
project_creation_restriction = everyone
verify_remote_cert = on
修改好配置文件后执行
./install.sh
harbor服务根据docker-compose.yml配置下载镜像和启动服务
用docker images 查看下载的镜像
用docker-compose ps 查看服务启动情况
启动正常, 用浏览器访问http://192.168.1.4,默认是80端口
(如果80端口已经被其他服务占用,可以修改docker-compose.yml文件中对应的端口映射)
登陆后界面
新建项目test,非公开
新建项目后,回到服务器上,用admin用户提交镜像到harbor的镜像仓库中,下面以busybox为例:
第一步,登录 docker login 192.168.1.4 用admin,密码Harbor12345
Username (admin): admin
Password:
Login Succeeded
第二步,给镜像打项目标签tag
docker tag docker.io/busybox 192.168.1.4/test/busybox:latest
第三步,push到仓库
docker push 192.168.1.4/test/busybox
完成后回到前端页面,就可以查看到镜像已经在test项目下了
本文转自super李导51CTO博客,原文链接: http://blog.51cto.com/superleedo/2051333,如需转载请自行联系原作者