一:安装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. C/C++解题常用STL大礼包 含vector,map,set,queue(含优先队列) ,stack的常用用法

    每次忘记都去查,真难啊 /* C/C++解题常用STL大礼包 含vector,map,set,queue(含优先队列) ,stack的常用用法 */ /* vector常用用法 */ //头文件 #i ...

  2. js动画--链式运动

    前面几节我们只是讲述了一种运动,这节课我将讲述链式运动:就以一个动作接着一个动作完成. 对于这个实现,我们只需要改变一下就可以实现了,设置一个回调函数. var timer; window.onloa ...

  3. IMP本质上是一个通用的函数指针

    IMP:通用的函数指针 /// A pointer to the function of a method implementation. #if !OBJC_OLD_DISPATCH_PROTOTY ...

  4. DSL的本质:领域构建的半成品

    DSL的本质是使用通用和专用语言构建领域的半成品: 实际上是构建了一个世界观.小宇宙的半成品: 这个半成品包含领域的基本要素.联系方式和基本运行规律: 开发者使用这个半成品平台进行开发能达到事半功倍. ...

  5. 兑换零钱-(dp)

    https://ac.nowcoder.com/acm/contest/910/B 本以为是组合数,没想到是dp求解,变成水题了,让我想起了第一次见到dp的爬楼梯,可以走一步和走两步,走40步,这里相 ...

  6. luogu_2831: 愤怒的小鸟

    洛谷2831:愤怒的小鸟(状压\(dp\)) 题意: 在二维平面上给定\(n\)个点\((1\leq n\leq18)\). 其中每个点用\((x_i,y_i)\)表示\((0<x_i,y_i& ...

  7. 8.8poc包问题

    对于8.8的包的问题:zabbix server设备重启后 zabbix server,mariadb,zabbix agent启动不了.是因为在7代的centos中在主机重启后.自动删除了/var/ ...

  8. 洛谷 P1099 树网的核+P2491 [SDOI2011]消防

    写在前面:由于是双倍经验就放一块了,虽然数据范围差的有点大. 题目链接 题意:在树的直径上选择一条长度不超过s的路径使这条路径上的点到树上任意点的最大距离最小. 这题数据好像非常水,我写了上界n^2不 ...

  9. [linux][c/c++]代码片段02

    gcc `pkg-config --cflags gtk+-3.0` -o example-1 example-1.c `pkg-config --libs gtk+-3.0` #include &l ...

  10. 模拟25A 题解

    A. Lighthouse m的范围极小,显然的容斥. 总的方案数,减去受任意一个限制的方案数,加回受两个限制的方案数. 就能得到受所有限制的的方案数. 将选择的一些边所指向的点放在同一个联通块里. ...