html5 图片展示网站,贸易公司网站建,新媒体营销包括什么,海外推广电商目录 1、搭建私有 registry
服务端创建镜像仓库
客户端推送镜像
镜像导入导出
2、Nginx 代理 registry 仓库
SSL 证书 https 协议
SSL证书
https协议
SSL 的验证流程
客户端安装 Nginx
使用 openssl 生成CA根证书和根证书key
创建 Nginx 服务证书
配置启动 N…目录 1、搭建私有 registry
服务端创建镜像仓库
客户端推送镜像
镜像导入导出
2、Nginx 代理 registry 仓库
SSL 证书 https 协议
SSL证书
https协议
SSL 的验证流程
客户端安装 Nginx
使用 openssl 生成CA根证书和根证书key
创建 Nginx 服务证书
配置启动 Nginx
服务端配置 docker
上传镜像
registry 仓库镜像删除
3、Harbor 仓库搭建
Docker-compose
创建 Harbor 服务证书
部署 Harbor
配置 Nginx 代理 Harbor
上传镜像 1、搭建私有 registry 主机名 ip 安装服务 角色 node-10 192.168.137.110 docker Registry客户端 node-11 192.168.137.111 dockerRegistry Registry服务器
服务端创建镜像仓库
# 服务端拉取Registry镜像
[rootnode-11 ~] docker pull registry
mkdir -p /data/docker/registry# 启动Registry仓库
docker run -d --name registry1 --restartalways -p 5000:5000 \
-v /data/docker/registry:/var/lib/registry registry# 查看仓库中的镜像
curl -X GET http://192.168.137.111:5000/v2/_catalog 客户端推送镜像
① 修改images仓库中镜像的名字
在镜像名字前加registry仓库地址和端口, 使之和registry仓库地址匹配, 只有Docker Hub 上的官方镜像可以省略仓库地址和项目名字因为默认镜像下载地址就是docker hub
# 修改images仓库中镜像的名字
docker tag centos:7 192.168.137.111:5000/centos7:v1 ② 客户端添加私有仓库地址vim /etc/docker/daemon.json
{insecure-registries: [192.168.137.111:5000],registry-mirrors: [https://w0ckwo1v.mirror.aliyuncs.com]
}
----------------------------------------------------------------# 重启docker
systemctl restart docker ③ 推送镜像到镜像仓库
docker push 192.168.137.111:5000/centos7:v1# 查看仓库中的镜像
curl -X GET http://192.168.137.111:5000/v2/_catalog ④ 测试拉取私有仓库镜像
# 删除有原有镜像
docker rmi 192.168.137.111:5000/centos7:v1 # 拉取私有仓库镜像
Docker pull 192.168.137.111:5000/centos7:v1 镜像导入导出
# 导出镜像
docker save -o centos7.tar centos:7 # 删除原有镜像
docker rmi centos:7# 导入镜像
docker load centos-7.tar | docker load -i centos-7.tar 2、Nginx 代理 registry 仓库
SSL 证书 https 协议 SSL证书 https协议 SSL 证书也称为 SSL 服务器证书是遵守 SSL 协议的一种数字证书由全球信任的证书颁发机构 (CA) 验证服务器身份后颁发将 SSL 证书安装在网站服务器上可以使用https加密协议访问网站。 ssl证书用来认证服务器真实身份钓鱼欺诈网站泛滥用户如何识别网站是钓鱼网站还是安全网站?网站部署全球信任的SSL证书后浏览器内置安全机制实时查验证书状态通过浏览器向用户展示网站认证信息让用户轻松识别网站真实身份防止钓鱼网站仿冒。 https协议可以看成是HTTPSSL的结合体,https实现网站加密传输用户通过http协议访问网站时浏览器和服务器之间是明文传输这就意味着用户填写的密码、帐号、交易记录等机密信息都是明文随时可能被泄露、窃取、篡改被黑客加以利用。网站安装SSL证书后使用https加密协议访问网站可激活客户端浏览器到网站服务器之间的SSL加密通道(SSL协议)实现高强度双向加密传输防止传输数据被泄露或篡改。
SSL 的验证流程 使用证书认证比我们之前秘钥认证多了一个用户浏览器访问证书颁发机构验证服务器颁发公钥的合法性。浏览器默认集成了证书颁发机构。
证书认证采用非对称加密公钥和私钥都可以用来加密数据,用另一个解开,公钥加密数据,然后私钥解密的情况被称为加密解密,私钥加密数据,公钥解密一般被称为签名和验证签名 客户端安装 Nginx 主机名 ip 安装服务 角色 node-10 192.168.137.110 docker、Nginx Registry客户端 node-11 192.168.137.111 dockerRegistry Registry服务器
# 安装nginx依赖包
yum -y install pcre-devel zlib-devel openssl openssl-devel epel-release# 安装nginx
yum install -y nginx 使用 openssl 生成CA根证书和根证书key
如果你有经过认证机构认证的证书则直接使用将证书放入nginx目录下即可。如果没有则使用openssl创建自签名证书 ① 查看ca证书默认配置cat /etc/pki/tls/openssl.cnf vim /etc/pki/tls/openssl.cnf
-----------------openssl.cnf---------------------------
req_extensions v3_req
-----------------openssl.cnf--------------------------- ② 创建根证书key
cd /etc/pki/CA/
openssl genrsa -out private/cakey.pem 2048 # 生成根证书
openssl req -new -x509 -key private/cakey.pem -days 3650 -out cacert.pem req 证书请求的子命令请求生成证书 x509 表示输出证书X509是通用的证书文件格式 days 证书有效期 OpenSSL生成密钥文件的格式就只有PEM和DER两种格式,PEM的是将密钥用base64编码base64就是一种基于64个可打印字符来表示二进制数据的方法表示出来的,直接打开你能看到一串的英文字母,DER格式是二进制的密钥文件 创建 Nginx 服务证书
[rootnode-10 CA] mkdir /etc/pki/CA/ssl
cd /etc/pki/CA/ssl/
openssl genrsa -out nginx.key 2048 ① 为nginx web服务器生成证书签署请求
# 为nginx web服务器生成证书签署请求
[rootcong10 ssl] openssl req -new -key nginx.key -out nginx.csr Common Name一定要是访问nginx的web服务器的域名。这里使用registry.test.com域名访问后端镜像仓库。 ② 创建证书序列号文件、证书索引文件第一次创建的时候需要给予证书序列号
[rootnode-10 ssl] touch /etc/pki/CA/{serial,index.txt}
echo 00 /etc/pki/CA/serial# 使用私有CA根据请求签发服务端证书
openssl ca -in nginx.csr -keyfile /etc/pki/CA/private/cakey.pem -cert \
/etc/pki/CA/cacert.pem -days 3650 -out nginx.crt 配置启动 Nginx
① 编写nginx配置文件vim /etc/nginx/nginx.conf
upstream docker-registry {ip_hash;server 192.168.137.111:5000;server 192.168.137.111:5001;
}
server {listen 80;listen [::]:80;server_name registry.test.com;location / {return 301 https://$host$request_uri;}# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;error_page 404 /404.html;location /404.html {}error_page 500 502 503 504 /50x.html;location /50x.html {}
}server {listen 443 ssl http2;listen [::]:443 ssl http2;server_name registry.test.com;ssl_certificate /etc/pki/CA/ssl/nginx.crt;ssl_certificate_key /etc/pki/CA/ssl/nginx.key;ssl_session_cache shared:SSL:1m;ssl_session_timeout 10m;ssl_ciphers HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers on;location / {auth_basic Registry realm;auth_basic_user_file /etc/nginx/nginx.htpasswd;proxy_pass http://docker-registry;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forward-Proto $scheme;proxy_connect_timeout 900;proxy_read_timeout 900;proxy_send_timeout 900;}# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;error_page 404 /404.html;location /40x.html {}error_page 500 502 503 504 /50x.html;location /50x.html {}
} ② 配置nginx认证
yum -y install httpd-tools
htpasswd -bc /etc/nginx/nginx.htpasswd admin 123456 ③ 启动 Nginx
# 启动nginx
systemctl enable nginx
systemctl start nginx# 查看nginx端口
netstat -antup | grep nginx ④ 配置hosts解析
vim /etc/hosts
192.168.137.110 registry.test.com ⑤ 访问测试 # curl命令访问
curl -k -u admin:123456 https://registry.test.com/v2/_catalog 服务端配置 docker
① 添加hosts解析
[rootnode-11 ~] vim /etc/hosts
192.168.137.110 registry.test.com ② 添加registry仓库
[rootnode-11 ~] vim /etc/docker/daemon.json
{insecure-registries: [https://registry.test.com],registry-mirrors: [https://0u0do0ns.mirror.aliyuncs.com]
}
注意如果有多个私有仓库请在insecure-registries列表里使用逗号分隔 ③ 重启docker
systemctl restart docker# 登陆registry仓库
docker login https://registry.test.com 上传镜像
# 给busybox镜像打标签
docker tag busybox registry.test.com/busybox# 推送镜像
docker push registry.test.com/busybox# 查看仓库镜像
curl -k -u admin:123456 https://registry.test.com/v2/_catalog
curl -k -u admin:123456 https://registry.test.com/v2/busybox/tags/list registry 仓库镜像删除
# 删除repo
docker exec registry1 rm -rf /var/lib/registry/docker/registry/v2/repositories/centos7# 清除blob
docker exec registry1 registry garbage-collect /etc/docker/registry/config.yml # 查看registry仓库镜像
curl -k -u admin:123456 https://registry.test.com/v2/_catalog 3、Harbor 仓库搭建
项目地址GitHub - goharbor/harbor: An open source trusted cloud native registry project that stores, signs, and scans content.
Harbor是由VMware公司开源的企业级的Docker Registry管理项目它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能具有web管理功能操作其实是非常简单易行的。
Harbor是一个基于Apache协议的开源软件主要开发语言为goharbor本身也是基于docker镜像使用docker-compose来进行编排部署。
https://github.com/goharbor/harbor/releases/download/v2.6.0/harbor-online-installer-v2.6.0.tgz
Docker-compose
项目地址: https://github.com/docker/compose
Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose你可以使用 YML 文件来配置应用程序需要的所有服务。然后使用docker-compose up就可以从YML 文件配置中创建并启动所有服务。
# Docker-compose下载新版本docker集成compose,无需安装
curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
chmod x /usr/local/bin/docker-compose# 查看docker-compose版本
docker-compose -v
#新版本docker compose使用方法
[rootnode-11 ~] docker compose version 创建 Harbor 服务证书
[rootnode-10 ssl] mkdir /etc/pki/CA/harbor cd /etc/pki/CA/harbor
openssl genrsa -out harbor.key 2048 # 为harbor服务器生成证书签署请求
openssl req -new -key harbor.key -out harbor.csr # 使用私有CA根据请求签发服务端证书
openssl ca -in harbor.csr -keyfile /etc/pki/CA/private/cakey.pem -cert \
/etc/pki/CA/cacert.pem -days 3650 -out harbor.crt # 拷贝证书到cong12
scp -r /etc/pki/CA/harbor/ 192.168.137.111:/etc/pki/CA 部署 Harbor
① 解压软件包
tar -zxvf harbor-online-installer-v2.6.0.tgz -C /usr/local/
ls /usr/local/harbor/ ② 配置文件harbor.yml
cd /usr/local/harbor/
mv harbor.yml.tmpl harbor.yml
vim harbor.yml
--------------------- harbor.yml -----------------------
hostname: 192.168.137.111
https:# https port for harbor, default is 443port: 443# The path of cert and key files for nginxcertificate: /etc/pki/CA/harbor/harbor.crtprivate_key: /etc/pki/CA/harbor/harbor.key
--------------------- harbor.yml ----------------------- ③ 安装Harbor仓库
./install.sh # 查看Harbor依赖的镜像及其健康状况
docker-compose -f docker-compose.yml ps ④ 登录Harbor并创建羡慕账户为admin 密码为 Harbor12345该密码的初始配置在harbor.yml文件中 点击镜像仓库可以看到推送命令这里包含有docker以及k8s的Helm 配置 Nginx 代理 Harbor
① 添加harbor.conf[rootnode-10 ~] vim /etc/nginx/conf.d/harbor.conf
server {listen 443 ssl http2;listen [::]:443 ssl http2;server_name harbor.test.com;ssl_certificate /etc/pki/CA/harbor/harbor.crt;ssl_certificate_key /etc/pki/CA/harbor/harbor.key;ssl_session_cache shared:SSL:1m;ssl_session_timeout 10m; ssl_ciphers HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers on;location / {proxy_pass https://192.168.137.111;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forward-Proto $scheme;proxy_connect_timeout 900;proxy_read_timeout 900;proxy_send_timeout 900;}# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;error_page 404 /404.html;location /40x.html {}error_page 500 502 503 504 /50x.html;location /50x.html {}
}
---------------------------------------------# 重载 nginx
nginx -s reload ② 修改hostsvim /etc/hosts
192.168.137.110 harbor.test.com ③ 添加harbor仓库vim /etc/docker/daemon.json
{insecure-registries: [192.168.137.111:5000,https://harbor.test.com],registry-mirrors: [https://0u0do0ns.mirror.aliyuncs.com]
}-----------------------------------------------
# 重启docker
[rootnode-10 ~] systemctl restart docker 上传镜像
① 推送镜像
# 登陆harbor
[rootnode-10 ~] docker login https://harbor.test.com # 推送镜像
[rootnode-10 ~] docker tag busybox:latest harbor.test.com/docker/busybox:v2
[rootnode-10 ~] docker push harbor.test.com/docker/busybox:v2 ② 拉取镜像 docker pull harbor.test.com/docker/busybox:v1