Harbor是VMware公司最近开源的企业级Docker Registry项目, 其目标是帮助用户迅速搭建一个企业级的Docker registry服务,即能存储自己的镜像又有安全认证。
harbor需要安装docker 17.06.0-ce+和docker-compose 1.18.0+才能使用
配置yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
安装docker-ce
yum -y install docker-ce-18.06.1.ce-3.el7
systemctl enable docker && systemctl start docker
安装docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
2.添加可执行权限
sudo chmod +x /usr/local/bin/docker-compose
3.验证版本
docker-compose --version
说明:Docker Compose是 docker 提供的一个命令行工具,用来定义和运行由多个容器组成的应用。
使用 compose,我们可以通过 YAML 文件声明式的定义应用程序的各个服务,并由单个命令完成应用的创建和启动。
下载网站 https://github.com/vmware/harbor/releases/
解压:tar xvf harbor-offline-installer-v1.10.2.tgz
编辑配置文件:
vim harbor.yaml
修改harbor配置文件里面的主机名(hostname)要改为:reg.syqedu.com(访问harbor的域名或外网IP)
更改证书所在的目录路径:
ssl_cert = /root/harbor/ssl/reg.syqedu.com.crt
ssl_cert_key = /root/harbor/ssl/reg.syqedu.com.key
更改harbor登录密码:
harbor_admin_password = 12345
进入harbor目录:
mkdir ssl 【创建证书存放目录】
cd ssl
1.生成根证书
openssl genrsa -out ca.key 4096
openssl req -x509 -new -nodes -sha512 -days 3650 -key ca.key -out ca.crt
2.生成一个证书签名,设置域名为:reg.syqedu.com
openssl genrsa -out reg.syqedu.com.key 4096
openssl req -sha512 -new -key reg.syqedu.com.key -out reg.syqedu.com.csr
3.chrome浏览器会查看当前域名是否在证书中声明,该声明由 subjectAltName 字段设置。
上述的生成步骤默认未设置该字段,解决方法如下:
创建一个v3.ext文件:
cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1=reg.syqedu.com
DNS.2=reg.syqedu
DNS.3=k8s-master #主机名
EOF
在最后生成主机证书的时候指定v3.ext文件
4.生成主机证书
openssl x509 -req -sha512 -days 3650 -extfile v3.ext -CA ca.crt -CAkey ca.key -CAcreateserial -in reg.syqedu.com.csr -out reg.syqedu.com.crt
1.执行配置文件: ./prepare
2.然后执行安装:./install.sh
3.列出当前运行容器是否健康: docker-compose ps
4.然后绑定hosts访问即可
要把harbor上的自签证书拿到docker上:
mkdir -p /etc/docker/certs.d/reg.syqedu.com
把reg.syqedu.com.crt拷贝到这个目录下
docker login reg.syqedu.com #登录harbor仓库
然后上传镜像到harbor:
docker tag tomcat:v1 reg.syqedu.com/test/tomcat:v1 #打标记
docker push reg.syqedu.com/test/tomcat:v1 #上传
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。