cent os 部署blade
一:安装docker
二:安装docker-compose
三:安装Harbor
四:配置Harbor使用https和2376端口
在/etc/docker 目录下面创建文件:create_tls_certs.sh的文件,内容如下:
#创建 Docker TLS 证书
#!/bin/bash
#相关配置信息
SERVER="101.200.154.43"
PASSWORD="pass123456"
COUNTRY="CN"
STATE="广州省"
CITY="广州市"
ORGANIZATION="sefon"
ORGANIZATIONAL_UNIT="Dev"
EMAIL="edrp@qq.com"
###开始生成文件###
echo "开始生成文件"
#切换到生产密钥的目录
cd /etc/docker
#生成ca私钥(使用aes256加密)
openssl genrsa -aes256 -passout pass:$PASSWORD -out ca-key.pem 2048
#生成ca证书,填写配置信息
openssl req -new -x509 -passin "pass:$PASSWORD" -days 3650 -key ca-key.pem -sha256 -out ca.pem -subj "/C=$COUNTRY/ST=$STATE/L=$CITY/O=$ORGANIZATION/OU=$ORGANIZATIONAL_UNIT/CN=$SERVER/emailAddress=$EMAIL"
#生成server证书私钥文件
openssl genrsa -out server-key.pem 2048
#生成server证书请求文件
openssl req -subj "/CN=$SERVER" -new -key server-key.pem -out server.csr
#使用CA证书及CA密钥以及上面的server证书请求文件进行签发,生成server自签证书
openssl x509 -req -days 3650 -in server.csr -CA ca.pem -CAkey ca-key.pem -passin "pass:$PASSWORD" -CAcreateserial -out server-cert.pem
#生成client证书RSA私钥文件
openssl genrsa -out key.pem 2048
#生成client证书请求文件
openssl req -subj '/CN=client' -new -key key.pem -out client.csr
sh -c 'echo "extendedKeyUsage=clientAuth" > extfile.cnf'
#生成client自签证书(根据上面的client私钥文件、client证书请求文件生成)
openssl x509 -req -days 3650 -in client.csr -CA ca.pem -CAkey ca-key.pem -passin "pass:$PASSWORD" -CAcreateserial -out cert.pem -extfile extfile.cnf
#更改密钥权限
chmod 0400 ca-key.pem key.pem server-key.pem
#更改密钥权限
chmod 0444 ca.pem server-cert.pem cert.pem
#删除无用文件
#rm client.csr server.csr
echo "生成文件完成"
###生成结束###
然后执行:
sh create_tls_certs.sh
修改docker配置:
vim /usr/lib/systemd/system/docker.service
修改
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
为:
ExecStart=/usr/bin/dockerd --tlsverify --tlscacert=/etc/docker/ca.pem --tlscert=/etc/docker/server-cert.pem --tlskey=/etc/docker/server-key.pem -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock
重新加载Docker配置和重启Docker服务:
systemctl daemon-reload && systemctl restart docker
使用netstat -tunlp查看2376端口是否配置成功
同时使用客户端电脑,telnet登录下,是否成功
Harbor配置https
生成证书:
创建目录:
mkdri /data/cert
openssl req -newkey rsa:4096 \
-nodes -sha256 -keyout ca.key -x509 -days 365 \
-out ca.crt -subj "/C=CN/L=guangzhou/O=chenfeng/CN=sefon"
(CN=sefon,此外网上好多是使用域名,我多测试后,不能使用域名)
openssl req -newkey rsa:4096 \
-nodes -sha256 -keyout sefon.cferp.cn.key \
-out sefon.cferp.cn.csr -subj "/C=CN/L=guangzhou/O=chenfeng/CN=sefon.cferp.cn"
openssl x509 -req -days 365 \
-in sefon.cferp.cn.csr -CA ca.crt -CAkey ca.key \
-CAcreateserial -out sefon.cferp.cn.crt
停止Harbor服务
docker-compose down -v
修改Harbor配置
vim harbor.cfg
hostname = sefon.cferp.cn
ui_url_protocol = https
ssl_cert = /data/cert/sefon.cferp.cn.crt
ssl_cert_key = /data/cert/sefon.cferp.cn.key
./prepare
服务器上直接访问:
[root@iZ2ze8mgdif90ed6xrhdx4Z /]# docker login sefon.cferp.cn
Username: admin
Password:
Error response from daemon: Get https://sefon.cferp.cn/v2/: x509: certificate signed by unknown authority
解决:
mkdir/certs.d
-bash: mkdir/certs.d: No such file or directory
[root@iZ2ze8mgdif90ed6xrhdx4Z docker]# mkdir certs.d
[root@iZ2ze8mgdif90ed6xrhdx4Z docker]# cd certs.d
[root@iZ2ze8mgdif90ed6xrhdx4Z certs.d]# mkdri sefon.cferp.cn
-bash: mkdri: command not found
[root@iZ2ze8mgdif90ed6xrhdx4Z certs.d]# mkdir sefon.cferp.cn
[root@iZ2ze8mgdif90ed6xrhdx4Z certs.d]# cd /data/cert
[root@iZ2ze8mgdif90ed6xrhdx4Z cert]# cp sefon.cferp.cn.crt /etc/docker/certs.d/sefon.cferp.cn
[root@iZ2ze8mgdif90ed6xrhdx4Z cert]# docker login sefon.cferp.cn
Username: admin
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
cent os 部署blade的更多相关文章
- 如何在Cent OS上安装和部署jdk与tomcat?
Cent OS是一款Linux系统.在商业应用中,Linux操作系统在服务器市场有着广泛的运用,这源于Linux系统的几大优点: 1.跨平台的硬件支持 由于Linux 的内核大部分是用C 语言编写的, ...
- 在Cent OS云服务器上部署基于TP5后端代码踩坑记录_艾孜尔江撰
推荐使用镜像安装Cent OS系统,或者在纯净安装完成之后在完成Apache+MySQL+PHP的时候不要每个单独安装,因为这样会出一些三者之间版本不配的问题,网上各种说法都有,查起来也非常困难,版本 ...
- vmware安装cent os 6.5 + oracle 11g xe + jboss eap 6.2 + weblogic 12c+ webshpere mq 7.5
前言: mac系统发展速度确实很快,短短数年,mac os上已经能网银支付(中行.招行.工商.支付宝等均已全面支持mac os了),windows上的经典常用软件:qq.飞信.旺旺.有道词典.有道云笔 ...
- mac: vmware fusion中cent os启动假死的解决办法
环境: mac os X 10.9.2 + vmware 6.0.2 + cent OS 6.5 minimal 现象: Booting CentOS (2.6.32-358.e.l6.i686) i ...
- Cent OS服务器配置(JDK+Tomcat+MySQL)
本文摘自:Cent OS服务器配置(JDK+Tomcat+MySQL) 学习tar解压 解压 tar 文件 tar -zxvf apache-tomcat-6.0.35.tar.gz tomcat ...
- VMware NAT模式 Cent OS IP配置
1:首先VMware 桥接模式 CentOS ip 配置,关键点,ip的网关和DNS1设置成宿主机的网关和DNS 原理:桥接的模式就是通过物理网卡实现的. 2:以图展示VMware NAT模式 Cen ...
- cent os 6 安装 nginx
cent os 6 默认的库是没有nginx的,所以直接 yum install nginx不行. 解决办法: $ wget http://nginx.org/packages/centos/6/no ...
- Cent os关机与重启命令详解
Cent OS关机与重启命令详解 分类: Linux2012-10-02 14:06 5553人阅读 评论(0) 收藏 举报 centoslinuxsignallogin工作windows Linux ...
- Cent OS 常用 命令
1.开机自动联网操作 需要root权限 vim /etc/sysconfig/network-scripts/ifcfg-p4p1(p4p1 为网络链接名称)这个文件, 把ONBOOT="n ...
随机推荐
- Vuex准备
(1)简介 每一个 Vuex 应用的核心就是 store(仓库).“store”基本上就是一个容器,它包含着你的应用中大部分的状态 (state).Vuex 和单纯的全局对象有以下两点不同: Vuex ...
- Optional类的基本使用(没怎么看)
参考:https://www.runoob.com/java/java8-optional-class.html java8中引入了一个新类:Optional,用于日常编码中对空指针异常进行限制和处理 ...
- springboot 打包插件spring-boot-maven-plugin打包机制及内部结构分析
今日思语:I miss you? 何解? 我错过你了?我想你了? 当下许多公司都会选择使用springboot作为服务应用开发框架,springboot框架提供了一套自己的打包机制,是通过spring ...
- jquery ajax在ie9下跨域不执行 crossDomain: true == !(document.all)
<!DOCTYPE html> <html> <head> <title>jQuery CORS in IE7 - IE10</title> ...
- [Python] Python忽略warning警告错误
Python忽略warning警告错误 1)代码中警告 import warnings warnings.filterwarnings("ignore") 2)忽略命令行下警告 ...
- A1016 | 磨人的大模拟
这题写得头晕……明天我再评价 #include <stdio.h> #include <memory.h> #include <math.h> #include & ...
- ubuntu14.04 安装python3.7
下载源码:https://www.python.org/downloads/release/python-373/ 一.先安装需要的包zlib1g,libffisudo apt-get update ...
- Powershell基础学习
从吐司偷来的图片,拿来当做引导吧: 0x01 简介 Windows PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework的强大功能.当然 ...
- HTTPS加密协议过程
1.客户端发起https请求 指用户在浏览器中输入一个https网址,然后链接到server的443端口 2.服务端的配置 在服务端向CA机构申请SSL数字证书.SSL证书就是一对公钥和私钥.公钥相当 ...
- Python全栈工程师(Python3 所有基础内容 0-0)
转发:https://www.cnblogs.com/ParisGabriel/p/9388030.html statements 语句print 输出quit() 退出exit() 退出ct ...