• 生成证书
  • ca key
openssl genrsa -aes256 -out ca-key.pem 4096
  • ca
openssl req -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem
  • server key
openssl genrsa -out server-key.pem 4096
  • 生成server 证书
openssl req -subj "/CN=192.168.1.144" -sha256 -new -key server-key.pem -out server.csr
echo subjectAltName = IP:192.168.1.144,IP:127.0.0.1 >> extfile.cnf
echo extendedKeyUsage = serverAuth >> extfile.cnf
openssl x509 -req -days 365 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem   -CAcreateserial -out server-cert.pem -extfile extfile.cnf
  • 生成client证书
rm extfile.cnf
openssl genrsa -out key.pem 4096
openssl req -subj '/CN=client' -new -key key.pem -out client.csr
echo extendedKeyUsage = clientAuth >> extfile.cnf
openssl x509 -req -days 365 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem   -CAcreateserial -out cert.pem -extfile extfile.cnf
 rm -v client.csr server.csr
chmod -v 0400 ca-key.pem key.pem server-key.pem
chmod -v 0444 ca.pem server-cert.pem cert.pem

不推荐用dockerd

dockerd --tlsverify --tlscacert=ca.pem --tlscert=server-cert.pem --tlskey=server-key.pem   -H=0.0.0.0:2376
  • 修改配置,使用证书
    归集服务器证书
cp server-*.pem  /etc/docker/
cp ca.pem /etc/docker/

归集客户端证书

cp -v {ca,cert,key}.pem ~/.docker

修改docker配置

vi /lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd
替换
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

systemctl restart docker 
  • centos 6.9
vi /etc/sysconfig/docker

添加

OPTIONS='--selinux-enabled --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'

iptables 开端口

iptables -I INPUT -p tcp --dport 2376 -j ACCEPT
iptables -L -n
/etc/init.d/iptables save

重起docker

service docker restart
  • 客户端使用
    证书拷贝到本地
scp -r root@192.168.1.144:~/.docker/ .

使用bash文件

#!/bin/sh
docker -H 192.168.1.144:2376 --tlsverify --tlscacert=/Users/jiangtao/myapp/192.168.1.144/ca.pem --tlscert=/Users/jiangtao/myapp/192.168.1.144/cert.pem  --tlskey=/Users/jiangtao/myapp/192.168.1.144/key.pem $@

出现
Error response from daemon: client is newer than server (client API version: 1.24, server API version: 1.19)

export DOCKER_API_VERSION=1.19

centos7/6.9 docker-ce-17/1.7.1使用证书登陆(openssl tls)相关推荐

  1. Ubuntu 17.04 x64 安装 Docker CE 初窥 Dockerfile 部署 Nginx

    Docker 是个划时代的开源项目,它彻底释放了计算虚拟化的威力,极大提高了应用的运行效率,降低了云计算资源供应的成本!使用 Docker,可以让应用的部署.测试和分发都变得前所未有的高效和轻松! 无 ...

  2. Docker 17.03系列教程(一)Docker EE/Docker CE简介与版本规划

    为什么80%的码农都做不了架构师?>>>    近日,Docker发布了Docker 17.03.进入Docker 17时代后,Docker分成了两个版本:Docker EE和Doc ...

  3. Ubuntu 17.04 x64 安装 Docker CE 初窥 Dockerfile 部署 Ngi

    Docker 是个划时代的开源项目,它彻底释放了计算虚拟化的威力,极大提高了应用的运行效率,降低了云计算资源供应的成本!使用 Docker,可以让应用的部署.测试和分发都变得前所未有的高效和轻松! 无 ...

  4. (转) Docker EE/Docker CE简介与版本规划

    随着Docker的不断流行与发展,docker公司(或称为组织)也开启了商业化之路,Docker 从 17.03版本之后分为 CE(Community Edition) 和 EE(Enterprise ...

  5. Linux安装Docker CE

    系统:CentOS Linux release 7.2 (Core) 3.10.0-693.11.6.el7.x86_64 SELinux:关闭 参考链接:https://docs.docker.co ...

  6. Ubuntu16.04安装Docker CE 并配置加速器

    PS:腾讯云Ubuntu16.04 64位,安装Docker CE 17.03 Docker目前分为两个版本: Docker Enterprise Edition (Docker EE) 专为企业开发 ...

  7. CentOS-7.5下使用yum命令快速安装Docker CE

    < CentOs-7.5下安装Docker CE > 先决条件 在安装Docker CE前,CentOS 系统版本应该升级到64位版本的 CentOS 7或以上,在这儿本次使用的系统版本为 ...

  8. CentOS7.9离线安装docker ce和docker-compose

    文章目录 docker介绍 应用场景 处理 docker介绍 简单来说,虚拟化.容器化,各个环境保持一致 Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中 ...

  9. 008 centos7安装docker ce

    2019独角兽企业重金招聘Python工程师标准>>> 1.安装 docker ce 1.1 说明 Docker 的早期版本称为 docker 或 docker-engine, 从2 ...

最新文章

  1. 【Linux】 Samba 服务器安装配置实现与Windows系统的文件共享服务
  2. 【配置】成本组件结构定义(OKTZ)
  3. asp.net截取指定长度的字符串内容
  4. 缓存服务器协议有哪些,HTTP 协议的缓存机制概述
  5. java如何实现定时任务_Java定时任务的三种实现方式
  6. ie9支持string.trim()
  7. mysql 嵌入式 性能_database – 在mySQL中优化嵌入式SELECT查询
  8. python实现mini-batch_Mini-Batch 、Momentum、Adam算法的实现
  9. python 公司年会抽奖_Python语言学习之用Python写公司年会抽奖程序
  10. java 排队实现_java中的优先列队-PriorityQueue源码实现解析
  11. 如何写出让面试官眼前一亮的Java开发简历(附模板)
  12. 苹果6s强制删除id锁_苹果解锁软件 屏幕解锁及AppleID解锁
  13. PCM音频数据格式介绍
  14. PhotoShop cc 2017安装 zeplin插件
  15. python输出姓名_如何用Python生成若干个随机姓名?男女取名有方法,不能千篇一律...
  16. 还想打马赛克掩盖身份?人工智能让你告别打码时代
  17. 个人支付接口现状分析——总有一款适合你
  18. 操作系统进程同步作业题
  19. win7系统计算机文件夹缓慢,win7系统搜索文件很慢的两种解决方法
  20. 苹果的移动设备上跑flash

热门文章

  1. Java网络编程,模拟QQ群聊功能
  2. 打车软件为抢入口开战
  3. 官方教程 Redshift 05 AOVs
  4. 如何帮助企业走出经济寒冬
  5. 数据仓库建模(四):维度表的设计
  6. 《layui宇宙版教程》:轮播组件carousel
  7. 阿里测试:给你一个APP,你如何展开测试工作?
  8. 价值投资者需要学习哪些知识?
  9. Android MediaTek 平台增加UART接口的红外模块支持,支持NEC红外遥控
  10. OA系统选型:须有火眼金睛