本文共 4834 字,大约阅读时间需要 16 分钟。
Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。
docker-compse -->编排工具,对启动服务优先级排序!
# Proxy : 由 Nginx 服务器构成的反向代理。# Registry :由 Docker 官方的开源 registry 镜像构成的容器实例。# UI : 即架构中的 core services , 构成此容器的代码是 Harbor 项目的主体。# MySQL : 由官方 MySQL 镜像构成的数据库容器。# Log : 运行着 rsyslogd 的容器,通过 log-driver 的形式收集其他容器的日志# 说明:定义这几个服务的优先级!
docker-compose安装
curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose# > 或O均可导入!chmod +x /usr/local/bin/docker-compose # 执行权限,验证!
版本查看
由于RHEL7默认python版本就是python2.7符合要求!
文件
tar zxf harbor-offline-installer-v1.8.0.tgz # 下载的是离线包-rw-r--r-- 1 root root 556153903 May 16 19:55 harbor.v1.8.0.tar.gz-rw-r--r-- 1 root root 4839 May 16 19:54 harbor.yml # yml格式的编排文件!-rwxr-xr-x 1 root root 5088 May 16 19:54 install.sh # 启动脚本-rw-r--r-- 1 root root 11347 May 16 19:54 LICENSE-rwxr-xr-x 1 root root 1654 May 16 19:54 prepare
说明:部分内容参考之前的私有仓库的搭建!
下载安装包,网络实在是太卡了!
两个不同的版本:online -->软件包小(需要联网);offline -->(比较大,包含镜像)
思路:这里跟着官方文档走!
注意:新版配置文件已经改成harbor.yml
(1)核心安装步骤
生成https证书,手动自签发的证书
############(1)创建CA密钥对############ # (1) openssl req -x509 -new -nodes -sha512 -days 3650 -subj "/C=CN/ST=wzj/L=wzj/O=example/OU=Personal/CN=wzj.com" -key ca.key -out ca.crt # (2) openssl genrsa -out reg.wzj.com.key 4096 ###########(2)创建web服务器端秘钥对##### # (3) openssl req -sha512 -new -subj "/C=CN/ST=wzj/L=wzj/O=example/OU=Personal/CN=reg.wzj.com" -key reg.wzj.com.key -out reg.wzj.com.csr # (4) cat > v3.ext <<-EOFauthorityKeyIdentifier=keyid,issuerbasicConstraints=CA:FALSEkeyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEnciphermentextendedKeyUsage = serverAuthsubjectAltName = @alt_names[alt_names]DNS.1=reg.wzj.comDNS.2=wzjDNS.3=harborEOF #(5) vim harbor.yml --->端口(https-->443,注意不要多个空格),主机名(hostname) # vim /etc/hosts --->做好解析 -->IP reg.wzj.com -->基于https的harbor需要使用域名 #(6) openssl x509 -req -sha512 -days 3650 -extfile v3.ext -CA ca.crt -CAkey ca.key -CAcreateserial -in reg.wzj.com.csr -out reg.wzj.com.crt# Docker守将.crt文件解释为CA证书,将.cert文件解释为客户端证书。所以需要将服务器转换yourdomain.com.crt为yourdomain.com.cert###########(3)放置证书################# #(7) mkdir /root/cert ## 创建证书的放置目录-->在配置文件中体现 #(8) cp reg.wzj.com.crt reg.wzj.com.key /root/cert/ #(9) vim harbor.yml -->指定这两个文件(证书和密钥-->校验)的位置 以及 hostname(reg.wzj.com) #(10) docker load -i harbor.v1.8.0.tar.gz -->加载镜像(< -i均可) #(11) ./prepare #(12) ./install.sh # 注意在其位置执行 -->默认执行左边安装后会自动启动服务 docker ps # 查看后太状态!
几个容器通过Docker link的形式连接在一起,这