离线方式搭建harbor记录
环境说明:服务器系统:ubuntu16.04harbor版本:v1.5.0docker版本:17.12.0-ce采用了两台机器:harbor服务器 IP:10.0.0.61客户端机器IP:10.0.0.110一.搭建本次安装默认两台机器上面已经安装了docker,若没有安装docker可以看前述博客安装docker。harbor的离线安装需要依赖与docker的...
环境说明:
服务器系统:ubuntu16.04
harbor版本:v1.5.0
docker版本:17.12.0-ce
采用了两台机器:
harbor服务器 IP:10.0.0.61
客户端机器 IP:10.0.0.110
一.搭建
本次安装默认两台机器上面已经安装了docker,若没有安装docker可以看前述博客安装docker。
harbor的离线安装需要依赖与docker的docker compose组件,首先需要下载docker-compose和barbor的安装包。
1.下载haobor安装包和docker-compose安装包
harbor载地址:http://harbor.orientsoft.cn/
本次下载后放入的目录是/home/carter,解压安装包
tar xf harbor-offline-installer-v1.5.0.tgz
下载docker-composer,存放到/usr/local/bin目录下。
curl -L https://github.com/docker/compose/releases/download/1.8.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
2.安装docker-compose
chmod +x /usr/local/bin/docker-compose
ll /usr/local/bin/ |grep docker-compose
检查docker-compose是否安装成功:
carter@bogon:~$ docker-compose --version
docker-compose version 1.8.1, build 878cff1
3.修改barbor默认端口和设置管理后台的admin密码
harbor的默认服务端口是80端口,但一般服务器上的80端口会被其他的服务占用,所以最后修改harbor的默认端口,这里修改为5000端口。
1)编辑/home/carter/harbor/docker-compose.yml文件:
cd /home/carter/harbor/
vi docker-compose.yml
替换80端口为5000端口:
proxy:
image: vmware/nginx-photon:v1.5.0
container_name: nginx
restart: always
volumes:
- ./common/config/nginx:/etc/nginx:z
networks:
- harbor
ports:
- 5000:80
- 443:443
- 4443:4443
depends_on:
- mysql
- registry
- ui
- log
logging:
driver: "syslog"
options:
syslog-address: "tcp://127.0.0.1:1514"
tag: "proxy"
2)修改配置文件 /home/carter/harbor/harbor.cfg,设置hostname和后台管理账号amdin的密码
hostname = 10.0.0.61:5000
harbor_admin_password =123456
注意:这里不能注释掉默认的hostname,然后再在下面配置一个hostname,如果有两行hostname,安装会报错。
4.安装harbor,执行install.sh脚本
执行前先做如下检查:
1)docker服务是否正常运行,否则在运行install.sh会失败,报错“Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?”
2)docker-compose是否安装,否则在运行install.sh时会失败,报错“✖ Need to install docker-compose(1.7.1+) by yourself first and run this script again.”
安装:
./install.sh
5.检查部署是否成功
root@bogon:/home/carter/harbor# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1976f5536750 vmware/harbor-jobservice:v1.5.0 "/harbor/start.sh" 34 hours ago Up 33 hours harbor-jobservice
e4508b4be0ef vmware/nginx-photon:v1.5.0 "nginx -g 'daemon of…" 34 hours ago Up 33 hours (healthy) 0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp, 0.0.0.0:5000->80/tcp nginx
ca2430c31b2d vmware/harbor-ui:v1.5.0 "/harbor/start.sh" 34 hours ago Up 33 hours (healthy) harbor-ui
75f031a8d3ad vmware/harbor-db:v1.5.0 "/usr/local/bin/dock…" 34 hours ago Up 33 hours (healthy) 3306/tcp harbor-db
2497b35a542e vmware/harbor-adminserver:v1.5.0 "/harbor/start.sh" 34 hours ago Up 33 hours (healthy) harbor-adminserver
305fe4f2b3c1 vmware/redis-photon:v1.5.0 "docker-entrypoint.s…" 34 hours ago Up 33 hours 6379/tcp redis
3d6630d94b36 vmware/registry-photon:v2.6.2-v1.5.0 "/entrypoint.sh serv…" 34 hours ago Up 33 hours (healthy) 5000/tcp registry
04b660ed97e2 vmware/harbor-log:v1.5.0 "/bin/sh -c /usr/loc…" 34 hours ago Up 33 hours (healthy) 127.0.0.1:1514->10514/tcp harbor-log
二.测试
1.服务器测试
在浏览器上输入地址:http://10.0.0.61:5000,可以看到如下页面:
输入账号/密码:admin/123456登录进去。
在里面创建test项目
2.客户端测试。
在测试机器10.0.0.110上执行以下步骤
1)客户端要向服务端push或者pull镜像首先需要登录,登录服务端。
docker login 10.0.0.61:5000
按提示输入用户名/密码:admin/123456
这个时候会出现如下问题:
Get https://10.0.0.61:5000/v2/: http: server gave HTTP response to HTTPS client
出现该问题是由于客户端默认与服务端采用https交互,要服务端返回https格式报文的内容,但服务端返回的是http格式的内容导致客户端报错,所以需要修改客户端的配置,是其支持接收http格式的响应报文。
在客户端创建/etc/docker/daemon.json文件并添加配置:
echo '{ "insecure-registries":["10.0.0.61:5000"] }' > /etc/docker/daemon.json
然后重启docker服务:
systemctl restart docker
然后再次登录正常。
2)下载镜像hello-world
docker pull hello-world
3)为hello-world设立tag标签
docker tag hello-world:latest 10.0.0.61:5000/test/hello-world:latest
4)向服务器push镜像
docker push 10.0.0.61:5000/test/hello-world:latest
5)删除客户端的TAG镜像:
docker rmi 10.0.0.61:5000/test/hello-world:latest
6)检查镜像是否已经删除:
docker images
发现已经没有10.0.0.61:5000/test/hello-world:latest镜像。
7)从服务端pull镜像
docker pull 10.0.0.61:5000/test/hello-world:lates
后再查看本地的镜像,发现有10.0.0.61:5000/test/hello-world:latest镜像。
参考:https://blog.51cto.com/10950710/2152638
更多推荐
所有评论(0)