跟着我入门
![fca5f51d25bcaf9d4a930a7671ce371f.png](https://img-blog.csdnimg.cn/img_convert/fca5f51d25bcaf9d4a930a7671ce371f.png)
本次内容带来的是带各位同学如何使用harbor作为自己或者企业的仓库.会更多通过干货的形式分享给你们,例如安装需求,安装事项,安装步骤等.
1-环境要求
![193bf5a564446318fa5ff9263f21ee77.gif](https://img-blog.csdnimg.cn/img_convert/193bf5a564446318fa5ff9263f21ee77.gif)
docker.io(建议版本16以上)
docker-compose(有3个version,建议装version2以上 --对应1.6.0+)
操作系统建议Ubuntu(16版本以上),Centos(6.8版本以上)
harbor(建议最新)
![7a3e4b756a6e8ffb8a58ae718d8da4e4.png](https://img-blog.csdnimg.cn/img_convert/7a3e4b756a6e8ffb8a58ae718d8da4e4.png)
小爷爷的安装环境:
-- docker.ce(安装是社区版本18.09)
-- docker-compose(版本1.6.1)
-- ubuntu18.10-live(内核4.18)
-- harbor(harbor-offline-installer-v1.7.4.tgz 离线包)
提示:如果环境跟小爷爷一致的话,就可以避免很多不要的问题(以下注意事项在ubuntu环境产生)~
2-注意事项
![193bf5a564446318fa5ff9263f21ee77.gif](https://img-blog.csdnimg.cn/img_convert/193bf5a564446318fa5ff9263f21ee77.gif)
(一)docker的依赖,如果已经安装过的可以跳过,还没有安装docker的小伙伴可以按小爷爷写的安装步骤:
1.建议安装最新版本(这步是删除旧版,没有docker依赖的小伙伴可以不用下面的依赖):
apt-get remove docker docker-engine docker.io
2.安装最新,需要安装依赖:
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
3.添加官方秘钥(官方):
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
4.添加仓库:
sudo add-apt-repository \"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
5.更新依赖:
sudo apt-get update
6.安装docker:
sudo apt-get install docker-ce
-docker version出现版本信息就是ok.
(二)docker-compose的依赖,这个一定建议按下面的安装步骤,这个是个编排技术,安装请注重哦,小爷爷下次写compose技术 你才能跟好小爷爷的车,docker-compse推荐安装方式有2种,下面是docker-compose的安装步骤:
1.注意:不建议使用apt-get安装.
2.两种安装方式:
2-1 从github上下载docker-compose二进制文件安装:
1.下载安装包:
sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
2.赋予权限:
sudo chmod +x /usr/local/bin/docker-compose
2-2 pip安装
1.安装python-pip
yum -y install epel-release
yum -y install python-pip
2.安装compose
pip install docker-compose
易出错:
root@ubuntu:docker login horbor_addr (出现下错误)
Error saving credentials: error storing credentials - err: exit status 1, out: `Cannot autolaunch D-Bus without X11 $DISPLAY`
处理方式:卸载docker-compose,按上面方式安装compose.
3-安装使用
![193bf5a564446318fa5ff9263f21ee77.gif](https://img-blog.csdnimg.cn/img_convert/193bf5a564446318fa5ff9263f21ee77.gif)
个人入门可以不使用证书验证,小爷爷教你们证书和无证书的安装>使用.首先是无证书的安装步骤.
下载harbor的安装包(可以自己在github下载最新的, 或者 第二种下载在线包的版本,两种选择一种):
github下载:
github: https://github.com/goharbor/harbor/releases
解压:
tar -xvf harbor-offline-installer-v1.7.4.tgz
wget下载:
## 在线包下载(版本: 1.7.1):
wget https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-online-installer-v1.7.1.tgz
解压:
tar -xvf harbor-online-installer-v1.7.1.tgz配置harbor.cfg:
cd harbor/
vim harbor.cfg
harbor.cfg配置:
#配置访问的地址hostname = 10.211.55.4#请求方式(https需要配置证书)ui_url_protocol = http#最大工作线程,个人玩玩建议5-10 #企业的话取决服务配置和使用规模max_job_workers = 5#web管理密码配置(账号admin)harbor_admin_password = 12345#email配置可以使用通知(web页面也提供)email_* = ******#存储路径,默认是/datasecretkey_path = /mnt/harbor/data
开始安装:
sudo ./install.sh --with-clair
启动:
sudo docker-compose up -d
全部done 就成功~
有人问我出现以下情况怎么办?Traceback (most recent call last): File "bin/docker-compose", line 6, in <module> File "compose/cli/main.py", line 68, in main File "compose/cli/main.py", line 118, in perform_command File "compose/cli/command.py", line 37, in project_from_options File "compose/cli/command.py", line 91, in get_project File "compose/config/config.py", line 385, in load File "compose/config/config.py", line 484, in load_services File "compose/config/config.py", line 463, in build_services File "compose/config/config.py", line 456, in build_service File "compose/config/config.py", line 814, in finalize_service File "compose/config/config.py", line 640, in resolve_environment File "compose/config/environment.py", line 35, in env_vars_from_file File "codecs.py", line 896, in openIOError: [Errno 13] Permission denied: u' /file
小爷爷跟你说不用怕,要仔细分析错误,最后一句是说你的权限不足,所以只要给权限就行了,或者加docker-compose权限:
sudo chmod -R 777 ../
再重新执行一次
sudo docker-compose up -d
就可以到你浏览器输入你填的host访问了,harbor-nginx默认代理了80端口,就能看到下面的页面(就可以截图去群里学(炫)习(耀)了):
登陆进去可以先新建项目(进去体验体验)---这时就是要对应上传仓库的使用了
既然可以登录管理使用了,那如何用harbor拉取上传自己的镜像? 这时当然虚机要向仓库添加你的配置地址,告诉仓库你的地址. 相信这个很好理解.不过docker官方(图3.1)是不建议,建议用证书的形式. 不过小爷爷先教你们http的,ca的将会放在下一篇文章解释,并且引出do'cker-compose. 接下来就是配置教学:
图3.1
配置 insecure-registry:
Linux:
如果没有此文件 新建即可:vim /etc/docker/daemon.json添加下面内容 :{ #你配置的host "insecure-registries": ["10.211.55.4:80"] }
Mac/win:
*重启docker服务(刷新配置):
sudo systemctl daemon-reload
sudo systemctl restart docker
登录提交镜像:
docker login 10.211.55.4:80(一定要端口,不然要配ssl)
这就可以push你的私人镜像到harbor:
先把镜像打标签(我拿redis举例):
docker tag redis:latest 10.211.55.4:80/zcho/redis/v2.0
就可以push到harbor了:
docker push 10.211.55.4:80/zcho/redis/v2.0
小爷爷建议: 建议按小爷爷的环境走~ 如果有折腾能力,可以自由发挥~ 还有关键的是 harbor支持扫描镜像 镜像同步等, 可以防 一些被注入移植脚本的镜像(例如挖矿 肉鸡等) 通过镜像 用你的电脑免成本,小爷爷好像看到一条发财之路了