zoukankan      html  css  js  c++  java
  • docker使用Let’s Encrypt协议构建免费https协议

            简介:我们可以把自己的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/mydomain.com/cert1.pem /home/certs/docker.mydomain.com.crt
             cp /etc/letsencrypt/archive/mydomain.com/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

  • 相关阅读:
    CodeForces
    [SDOI2018] 战略游戏
    bzoj3786: 星系探索
    bzoj4383: [POI2015]Pustynia
    bzoj4353: Play with tree
    bzoj4336: BJOI2015 骑士的旅行
    bzoj4381: [POI2015]Odwiedziny
    codechef January Lunchtime 2017简要题解
    bzoj 3867: Nice boat
    3069: [Pa2011]Hard Choice 艰难的选择
  • 原文地址:https://www.cnblogs.com/waterlufei/p/6586614.html
Copyright © 2011-2022 走看看