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

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

  • 生成证书
  • 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
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100420.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Hmily 源码解析(二)—— Hmily事务工作流程「建议收藏」

    Hmily 源码解析(二)—— Hmily事务工作流程「建议收藏」Hmily源码解析(二)前言这一篇不想谈论Hmily源码的技术实现,而是想在过了一遍hmily的实现后把hmily的工作思路单独地整理出来再进行一次总结。看看能不能进一步有所得。以hmily-demo-springcloud为例,它的实现思路如下。Hmily事务工作流程首先它是基于切面编程来实现分布式事务的操作,及通过日志记录TCC事务的信息以保证最终一致性。前…

    2022年5月11日
  • python fast api_python django框架

    python fast api_python django框架Tensorflow已经有了Keras,PyTorch当然也得出一个对标的高阶封装库,于是Fastai应运而生。由于目标市场比较低端,Fastai在某种程度上舍弃了定制化,更追求开箱即用。个人感觉会成为神经网络界的sklearn吧。…

    2022年9月8日
  • 几个常用算法的适应场景及其优缺点!

    几个常用算法的适应场景及其优缺点!

    2021年11月22日
  • 但是生活总不是完美的

    但是生活总不是完美的里。为细水停留,为蔷薇伫足。水色清韵,一品天香,末指的时间,却觉不出暗香盈袖。输细水一分色,逊琼雪一段香。以晴翠为笔,以琼雪为墨。逸岭千城,踏雪无痕,末指的空间,却砌不出烟火人间。输晴翠一分情,逊琼雪只不过在寻求一种温暖的生存方式,可最后得到的并不是答案。高级别墅,奢华名车,并不是每一个进去的人都能快乐的,或许有了这些物质做依靠,总比什么都没有好许多,生活有时也仅仅只是一种形式,往往看到的只是外在

    2022年5月28日
  • TD—SCDMA_移动TD

    TD—SCDMA_移动TD
    GSM
     globalsystemformobilecommunications全球移动通信系统
     第二代移动电话系统。
         GSM是GlobalSystemofMobilecommunication全球移动通讯系统的英文缩写,是当前应用最为广泛的移动电话标准。全球超过200个国家和地区超过10亿人正在使用GSM电话。所有用户可以在签署了”漫游协定”移动电话运营商之间自由漫游。GSM较之它以前的标准最大的不同是他的信令和语音信道都是数

    2022年10月4日
  • QFile详解

    QFile详解1、QFile::QFile()构造一个没有名字的QFile对象2、QFile::QFile(constQString&name)构造一个以name为文件名的QFile对象。注:也可以QFile::QFile(),然后调用setName()方法来实现类似动作。3、bootQFile::atEnd()const[虚函数]如果已经到达文件末尾则返回TRUE,否则返回FAL

    2022年4月30日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号