简介:我们可以把自己的image上传到dockerhub或者阿里云的docker镜像仓库,但在实际使用中我们很多时候都用的是自己的registry,便于内部的共享等等优点,docker镜像默认支持https协议,可以用http协议,但是强烈不推荐,http协议只适合用实验阶段而且不支持设置用户名和密码。http认证是需要钱的对于只想做做实验的同学来说是不可接受的,下面我们介绍下利用Let’s Encrypt构建免费的https协议。

Let’s Encrypt官网:https://letsencrypt.org/

环境:

docker版本:Docker version 17.03.0-ce, build 60ccb22

服务器版本:CentOS Linux release 7.3.1611 (Core)

端口开放:443,80(防火墙开放)

步骤:

1.从该服务器上面获取证书:
         $ git clone https://github.com/letsencrypt/letsencrypt.git

$ cd letsencrypt

         $ sudo ./letsencrypt-auto certonly

         2.根据该向导,选用standalone模式填写自己的邮箱域名等等,最后获取到的证书文件放在/etc/letsencrypt/archive/docker.mydomain.com/。首先备份这些证书到自己电脑上去

3.然后找一个地方存放证书       

cp /etc/letsencrypt/archive/www.waterlufei.xyz/cert1.pem /home/certs/docker.mydomain.com.crt
         cp /etc/letsencrypt/archive/www.waterlufei.xyz/privkey1.pem /home/certs/docker.mydomain.com.key

启动这个证书后在浏览器里面已经可以看到https成功访问了,但是docker支持的不够好,但你push,pull的时候会报错unknow authority,这个时候我们需要继续在Let’s Encrypt官网下载两个证书

wget https://letsencrypt.org/certs/isrgrootx1.pem

wget https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem

下好了以后我们把下面两个证书整合到.crt证书中,最简单的办法就是进入下面两个文件文件直接copy全部内容,然后粘贴到上面的.crt文件中,最后.crt文件有三对begin和end

最后我们启动docker registry:

docker run -d -p 5000:5000 --restart=always --name registry \
        -v /opt/data:/var/lib/registry \
        -v /home/certs:/certs \
        -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/docker.mydomain.com.crt \
        -e REGISTRY_HTTP_TLS_KEY=/certs/docker.mydomain.com.key \
        registry:2

我们就可以直接push,pull了例如:push ubuntu docker.mydomain.com:5000/ubuntu

docker使用Let’s Encrypt协议构建免费https协议的更多相关文章

  1. 新开源HTML5单文件网页版ACME客户端,可在线申请Let's Encrypt、ZeroSSL免费HTTPS多域名通配符泛域名SSL/TLS证书(RSA/ECC/ECDSA)

    目录 开源项目的起源 项目地址 使用方法 第一步:选择Let's Encrypt.ZeroSSL或其他证书颁发机构 第二步:证书配置,填写域名 第三步:完成域名所有权的验证 第四步:下载保存证书PEM ...

  2. ubuntu+let's encrypt生成永久免费https证书 ubuntu+tomcat+nginx+let's encrypt

    1. 下载let's encrypt $ sudo add-apt-repository ppa:certbot/certbot $ sudo apt-get update $ sudo apt-ge ...

  3. IIS网站 由http协议改变为https协议

    https://www.cnblogs.com/boosasliulin/p/6811231.html?utm_source=itdadao&utm_medium=referral

  4. 教你快速撸一个免费HTTPS证书

    摘要: 免费 HTTPS 证书,了解一下? HTTPS 已成为业界标准,这篇博客将教你申请Let's Encrypt的免费 HTTPS 证书. 本文的操作是在 Ubuntu 16.04 下进行,使用 ...

  5. http协议和https协议

    内容: 1.http协议介绍 2.https协议介绍 3.http协议和https协议对比 1.http协议介绍 (1)http协议是什么 1 一个传输协议,协议就是双方都遵守的规范. 2 为什么叫超 ...

  6. 如何将网站升级为HTTPS协议(整理)

    如何将网站升级为HTTPS协议(整理) 一.总结 一句话总结: 获取证书(有免费有付费):证书是一个二进制文件,里面包含经过认证的网站公钥和一些元数据,要从经销商购买. 安装证书:证书可以放在/etc ...

  7. http协议与https协议

    1.前言 在介绍 HTTP 协议之前,先简单说一下TCP/IP协议的相关内容.TCP/IP协议是分层的,从底层至应用层分别为:物理层.链路层.网络层.传输层和应用层,如下图所示: 2.http协议简介 ...

  8. 牛客网Java刷题知识点之UDP协议是否支持HTTP和HTTPS协议?为什么?TCP协议支持吗?

    不多说,直接上干货! 福利 => 每天都推送 欢迎大家,关注微信扫码并加入我的4个微信公众号:   大数据躺过的坑      Java从入门到架构师      人工智能躺过的坑          ...

  9. P2P-BT对端管理协议(附BT协议1.0)

    对端管理 指的是远端peer集合的管理(尽管自身client也能够视为一个peer.但对端管理不包括自身peer) 一个client(client)必须维持与每一个远程peer连接的状态信息,即1V1 ...

随机推荐

  1. C#编程基础->XML系列导航

    缘由 最近开发的小程序过程中需要涉及到XML相关操作,突然发现自己对于这知识点了解的太少,急需学习加强.刚好项目的时间也不是很紧急,自己就总结XML相关知识点.一个方面自己学习,一个方面也希望可以帮到 ...

  2. 响应者链-----iOS

    正文 以触摸事件为例,说一下响应者链 当发生触摸事件后,Runloop监听到事件,会将其事件打包成一个UIEvent事件,并放入当前活动UIApplication的事件队列中,再会传给UIWindow ...

  3. 设置tableView的分割线填满cell的方式总结

    方式一:cell的底部添加一个UIView 1.在tableViewController的viewDidLoad中取消系统的分割线 // 取消系统的分割线 self.tableView.separat ...

  4. 情人节,教大家使用css画出一朵玫瑰花。

    情人节到了,给大家来一朵高端的玫瑰花. 在网上看到的一个canvas实现的玫瑰花,效果很好,但是代码被压缩过,也没有注释,看的云里雾里的. 今天我教大脚用CSS来实现一朵玫瑰花. 先看效果 首先我们画 ...

  5. Redis的二八定律

    常用命令: 1.setex key 有效时间 value ----------意思就是添加并设置该键值对的存活时间 2.mset key1 value1 key2 value2 key3 value3 ...

  6. JAVA 命令行参数解析,org.apache.commons.cli的使用

    maven依赖引入 <dependency> <groupId>commons-cli</groupId> <artifactId>commons-cl ...

  7. BZOJ 3208: 花神的秒题计划Ⅰ

    这就是一道滑雪嘛= = 所有操作都爆力,求路径就dp,完了 CODE: #include<cstdio>#include<iostream>#include<algori ...

  8. 如何在shell脚本中导出数组供子进程使用

    功能说明:设置或显示环境变量. 语 法:export [-fnp][变量名称]=[变量设置值] 补充说明:在shell中执行程序时,shell会提供一组环境变量.export可新增,修改或删除环境变量 ...

  9. AR入门系列-03-在unity中将调试好的Vuforia项目导出为APK

    先设置build settings 选中Android后点击Player Settings Product Name设置安装后的Android程序的名字 Bundle Identifier 设置apk ...

  10. 1602: [Usaco2008 Oct]牧场行走

    1602: [Usaco2008 Oct]牧场行走 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 1211  Solved: 616 [Submit][ ...