一:安装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的更多相关文章

  1. 如何在Cent OS上安装和部署jdk与tomcat?

    Cent OS是一款Linux系统.在商业应用中,Linux操作系统在服务器市场有着广泛的运用,这源于Linux系统的几大优点: 1.跨平台的硬件支持 由于Linux 的内核大部分是用C 语言编写的, ...

  2. 在Cent OS云服务器上部署基于TP5后端代码踩坑记录_艾孜尔江撰

    推荐使用镜像安装Cent OS系统,或者在纯净安装完成之后在完成Apache+MySQL+PHP的时候不要每个单独安装,因为这样会出一些三者之间版本不配的问题,网上各种说法都有,查起来也非常困难,版本 ...

  3. 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.飞信.旺旺.有道词典.有道云笔 ...

  4. 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 ...

  5. Cent OS服务器配置(JDK+Tomcat+MySQL)

    本文摘自:Cent OS服务器配置(JDK+Tomcat+MySQL) 学习tar解压 解压 tar 文件 tar -zxvf apache-tomcat-6.0.35.tar.gz tomcat   ...

  6. VMware NAT模式 Cent OS IP配置

    1:首先VMware 桥接模式 CentOS ip 配置,关键点,ip的网关和DNS1设置成宿主机的网关和DNS 原理:桥接的模式就是通过物理网卡实现的. 2:以图展示VMware NAT模式 Cen ...

  7. cent os 6 安装 nginx

    cent os 6 默认的库是没有nginx的,所以直接 yum install nginx不行. 解决办法: $ wget http://nginx.org/packages/centos/6/no ...

  8. Cent os关机与重启命令详解

    Cent OS关机与重启命令详解 分类: Linux2012-10-02 14:06 5553人阅读 评论(0) 收藏 举报 centoslinuxsignallogin工作windows Linux ...

  9. Cent OS 常用 命令

    1.开机自动联网操作 需要root权限 vim /etc/sysconfig/network-scripts/ifcfg-p4p1(p4p1 为网络链接名称)这个文件, 把ONBOOT="n ...

随机推荐

  1. BZOJ - 3242 :快餐店 (基环树DP) 最小化半径

    题意:给定N点N边的无向连通图,现在让你在图中找一点作为餐厅,使得最远点距离这点最近. 思路:为了保留整数,我们求最小直径,最后去除2.  直径来源于两部分: 1,在外向树中: 那么就是树的直接,一棵 ...

  2. awk编程的基本用法

    awk也是用来处理文本的,awk语言可以从文件或字符串中基于指定规则浏览和抽取信息,可以实现数据查找.抽取文件中的数据.创建管道流命令等功能. awk模式匹配 第一种方法打印空白行将空白行打印出来,并 ...

  3. Gamification and Game-Based Learning

    https://uwaterloo.ca/centre-for-teaching-excellence/teaching-resources/teaching-tips/educational-tec ...

  4. springMVC(2)

    SpringMVC_JSR303数据校验 1.需要加入hibernate validator验证框架 2.在springMVC配置文件中添加<mvc:annotation-driven/> ...

  5. 关于ArrayList

    List概述 List是一个列表结构抽象定义,有序的,可对其中每个元素的插入位置进行精确地控制,可以通过索引来访问元素,遍历元素.包括函数的有:添加元素,删除元素,判断是否包含元素等等重要函数.   ...

  6. 解决国内 Pip 安装速度慢

    1. Windows 在 C:\Users\(用户名)新建文件 pip.ini 2. 编辑 pip.ini 文件 [global]# 防止超时,默认值为 100timeout = 1000# 地址可从 ...

  7. MongoDB 实现 create table tab2 as select

    1. var result = db.foo.aggregate(...);db.bar.insert(result.result); 2. var temp1 = db.mtb1.find(name ...

  8. CF1245D: Shichikuji and Power Grid

    CF1245D: Shichikuji and Power Grid 题意描述: 给定\(n\)个点\((n\leq2000)\),在第\(i\)个点上建立一个基站需要\(c_i\)的代价,连接两个点 ...

  9. [题解向] Luogu2146[NOI2015]软件包管理器

    #\(\mathcal{\color{red}{Description}}\) \(Link\) 一道\(zz\)的树剖题\(qwq\). #\(\mathcal{\color{red}{Soluti ...

  10. xss、SQL测试用例小结

    xss测试用例小结: <script>alert("跨站")</script> (最常用)<img scr=javascript:alert(&quo ...