Docker技术:Harbor私服搭建使用以及私服推送和拉取镜像(附常见问题,server gave HTTP response to HTTPS client)
前言公司技术体系逐步基于DDD领域驱动设计结合DevOps,最终在技术实现中转向于微服务+k8s的体系。以Harbor作为公司镜像私服~再此,就记录一下操作过程,分享给道友,避免浪费时间。享受优质模板,进行阅读——点击Harborharbor git 地址优点:本身自代 docker 私有仓库支持基于角色的权限管理支持LDAP认证:Harbor的用户授权可以使用已经存在的用户。图形化用户界面审计管
前言
公司技术体系逐步基于DDD领域驱动设计结合DevOps,最终在技术实现中转向于微服务+k8s的体系。
以Harbor作为公司镜像私服~
再此,就记录一下操作过程,分享给道友,避免浪费时间。
享受优质模板,进行阅读——点击
Harbor
优点:
-
本身自代 docker 私有仓库
-
支持基于角色的权限管理
-
支持LDAP认证:Harbor的用户授权可以使用已经存在的用户。
-
图形化用户界面
-
审计管理:所有这怒地镜像仓库的错都可以被记录追溯,用于审计管理
-
镜像删除和垃圾回收:image可以被删除并且回收image占用的空间。
-
简单的部署功能:harbor提供了online、offline安装,此外还提供了virtualappliance安装
-
…
说白了,就是好,等等好像是公司要用因此不能不会~
安装
1、前置条件
(1)需要安装docker
#安装一些必要的系统工具
yum -y install yum-utils device-mapper-persistent-data lvm2
#添加docker镜像源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#安装docker-ce
yum -y list docker-ce.x86_64 --showduplicates | grep stable | sort -r
yum -y install docker-ce-18.03.1.ce-1.el7.centos
#开启docker服务
systemctl start docker
#查看docker版本
docker version
(2)需要安装docker-compose
yum install docker-compose
2、下载安装包
直接选择编译好的包
harbor-offline-installer-v2.4.2.tgz
harbor-offline-installer-v2.5.0-rc4.tgz
GitHub下载太慢?有教程~点击
这里有两个包Harbor offline installer
和 Harbor online installer
,两者的区别的是 Harbor offline installer
里就包含的 Harbor 需要使用的镜像文件。
下载成功,并解压
tar -zxvf harbor-offline-installer-v2.5.0-rc4.tgz
进入解压的目录,并 ll
harbor.v2.5.0.tar.gz
里就是 Harbor 用到的镜像
3、编辑yml文件
(1)解压完成后在当前目录生成harbor目录,复制和修改harbor目录下的harbor.yml
cp harbor.yml.tmpl harbor.yml
(2)注释掉htps的配置内容,配置htp相关的参数,主要是hostname,port,其他都可以不用动。
\# vim harbor.yml
hostname: 192.168.239.11
\# htp related config
htp:
\# port for htp, default is 80. If htps enabled, this port will redirect to htps port
port: 80
温馨提示
:https需注掉,否则会在启动时失败
(3)运行
修改完配置文件后,运行 ./prepare
,它会哪所配置文件修改一文件
运行 ./install.sh
(4)启动
安装完成后在本地生成docker-compose.yml
文件,此时可以启动harbor服务;
docker-compose up -d
温馨提示
:密码配置文件有,默认Harbor12345
(5)登录
初始的默认用户是admin
,密码是Harbor12345
,登录成功:
镜像上传与拉取
1、准备
(1)万物皆hello-world,准备hello-world镜像
docker pull hello-world
(2)新增项目
2、登录
docker login 192.168.239.11:80
user:admin
password:
Login Succeeded
3、标记
在项目中标记需要上传的镜像
docker tag hello-world 192.168.239.11:80/test1/hello-world:1.0
温馨提示
:端口被忘带了,这不是浏览器!!!
4、推送
将标记好的镜像,推送镜像到当前项目
docker push 192.168.239.11:80/test1/hello-world:1.0
5、拉取
docker pull 192.168.239.11:80/test1/hello-world:1.0
温馨提示
:拉取之前记得login
其他常见问题
当进行login时,会出现如下报错:
此时,需要将私服的htp地址配置到docker的不安全register中
\# vim /etc/docker/daemon.json
{
"insecure-registries": ["192.168.239.11:80"]
}
温馨提示
:端口别忘带了,这不是浏览器!!!
重启docker服务后可以正常login进docker私服
重启docker服务后可以正常login进docker私服
重启docker服务后可以正常login进docker私服
systemctl daemon-reload && systemctl restart docker
更多推荐
所有评论(0)