搭建docker私有仓库Harbor
1. 依赖docker环境
搭建docker的方式有两种:
- http存储库安装
- 本地安装
这里不做介绍,安装很简单
2. docker-compose环境
docker-compose是专门用来执行编排脚本的 (.yml结尾的文件)
一条命令解决安装
curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
配置权限
root@docker-qyg:~/pyhon# chmod +x /usr/local/bin/docker-compose
root@docker-qyg:~/pyhon# ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
创建软连接,使任意目录下都能执行
最后安装完docker-compose之后;
docker compose常用命令
执行编排脚本(必须在.yml文件相同目录下才能执行成功,类似于Dockerfile创建镜像)
docker-compose up -d # (up 是创建并启动的意思,-d 后台启动)
docke-compose build # 创建或者重新创建覆盖镜像和容器
docker-compose start # 启动
docker-compose stop # 停止
3. Harbor仓库
官方链接 https://github.com/goharbor/harbor/releases
安装有两种方式,一种是off-line ,一种是on-line,即离线和在线安装,离线安装需要下载的安装包较大,在线安装下载的安装包很小,
- 我选择的是离线版本v1.8.0-rc1(比较大概五百多M)
- ls查看目录下的tar包
- 解压,进入安装包
#tar xf harbor-offline-installer-v1.8.0-rc1.tgz
#cd harbor
- 修改配置文件
修改配置文件为:/harbor/harbor.yml,内容为:
- 第一种方式:配置docker
#因为docker默认使用的是https连接,而harbor默认使用http连接,所以需要修改docker配置标志insecure registry不安全仓库的主机!(否则后边本地登陆harbor私有仓库账号会提示失败)
#vi /lib/systemd/system/docker.service
#sudo vim /lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --insecure-registry=harbor:8060
#只加上--insecure-registry这个参数即可。
6. 第二种方式:修改Docker配置(第一种如果失败就用这种的,没有这个文件就写入一个)
docker 默认是按 https 请求的,由于我搭的私有库是 http 的,所以需要修改 docker 配置,将信任的库的地址写上
修改文件 /etc/docker/daemon.json
{
"insecure-registries": [
"192.168.101.129:8060"
]
}
#重启docker:
#systemctl daemon-reload
#systemctl restart docker.service
- 执行安装脚本:
#会拉取好几个镜像下来,及检查环境:
#./install.sh
- Harbor启动和停止
Harbor 的日常运维管理是通过docker-compose来完成的,Harbor本身有多个服务进程,都放在docker容器之中运行,我们可以通过docker ps命令查看
或者docker-compose ps来查看
① 启动Harbor
#docker-compose start
② 停止Harbor
#docker-comose stop
③ 重启Harbor
#docker-compose restart # 有时候会失败
- 访问测试
在浏览器输入 本机ip:8060。请大家根据自己的配置情况输入访问的域名;
默认账号密码: admin / Harbor12345 登录后修改密码
登录后进入harbor操作界面
3. 上传镜像测试
想要上传本地镜像到Harbor仓库
- 打标签
docker tag 本地镜像 harbor主机IP:端口/项目/镜像名:标签
root@docker-qyg:~/pyhon# docker tag python:2.7 192.168.101.129:8060/library/qyg/python:2.7
docker images 查看刚打好标签的镜像image
2. 登陆账户
# docker login harbor主机IP:8060
然后会提示输入账户密码
成功会有login sucess提示
- push至harbor仓库
root@docker-qyg:~# docker push harbor主机IP:8060/library/qyg/python:2.7
如果出现下边的情况,证明之前的docker配置接受 http请求 哪个没弄好;
成功会有多行进度条加载
4. 下载镜像
和docker下载官方镜像一样
直接:
docker pull harbor主机IP:端口/项目/镜像名:标签