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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • pycharm中使用anaconda部署python环境_anaconda pycharm环境配置

    pycharm中使用anaconda部署python环境_anaconda pycharm环境配置总有那么多的知识点,看起来这么简单(其实解决的方法也很简单,无非是某个地方要加括号,要加双括号等小问题),但没有人好好讲的话会浪费很多时间。笔者先安装了Anaconda和Spyder,运行TensorFlow-GPU,最近安装了pycharm,想利用之前配置好的环境(省去依赖包的配置)。找了一些资源都没有将清楚。以下简洁版:1、新建项目,选择“Existinginterpreter”…

  • arm cortex-a57 cpu_处理器a73和a53

    arm cortex-a57 cpu_处理器a73和a53在如今这个电子产品泛滥的年代,仅仅靠品牌或是外观已经不足以辨别产品的优劣,其内置的处理器自然也就成为了分辨产品是否高端的标准之一。那么我们今天就不妨好好了解一下近几年来电子产品中较为主流的RAM处理器。  在这之前让我们先简单认识一下处理器的架构。所谓处理器架构是CPU厂商给属于同一系列的CPU产品定的一个规范,主要目的是为了区分不同类型CPU的重要标示。目前市面上的CPU指令集分类主要分有…

  • ssd硬盘数据怎么恢复_硬盘数据转移到另一个硬盘

    ssd硬盘数据怎么恢复_硬盘数据转移到另一个硬盘英特尔(Intel)SSD数据恢复概览现在,英特尔SSD是目前市面上最受欢迎的SSD硬盘之一,这都归功于它的几个优点。例如:快速的读取和写入速度、计算性能的增强、高级的加密标准(AES)等等。尽管有这些优秀的硬盘特性,还是无法避免在一切情境下资料丢失的问题。为什么硬盘中的资料会丢失?可能有以下几种原因:包括意外删除、格式化、病毒攻击、电源激增、操作系统崩溃或者说在一些情况下导致SSD不可独、初始化或坏掉。当意外发生之时,能否成功从IntelSSD硬盘中恢复数据?是的,当然可以!在你将新数据写入

  • 利用 JS 脚本实现网页全自动秒杀抢购

    利用 JS 脚本实现网页全自动秒杀抢购利用JS脚本实现网页全自动秒杀抢购倒计时页面:倒计时未结束时,购买按钮还不能点击。结束时,可以点击购买,点击后出现提示“付款成功”展示效果1.制作测试网页首先我们来做一个简易的抢购页面<!DOCTYPEhtml><htmllang=”zh_CN”><head><metacharset=”UTF-8″><title>Apple</title><styletype=”te

  • apache rewrite模块_怎么安装apache

    apache rewrite模块_怎么安装apache给apache安装mod_rewrite模块只是用来做参考,相关情况可跟据自己的需求进行修改如果你的服务器apache还没有安装,那很简单,在编译apache时将mod_rewrite模块编译进去就可以,相关文档可以在[url]www.gbunix.com[/url]中找到。如果你的apache已经安装好了,现在只想编译出mod_rewrite.so模块,在apache中进行加

  • WebSocket断线自动重连javascript库(含心跳包)

    WebSocket断线自动重连javascript库(含心跳包)ReconnectingWebSocket是一个小型的JavaScript库,封装了WebSocketAPI提供了在连接断开时自动重连的机制。//只需要简单的将:varws=newWebSocket(‘ws://….’);//替换成:varws=newReconnectingWebSocket(‘ws://….’);原ReconnectingWebSocket的GITHUB下载地址下面是我从ReconnectingWebSocket源代码里根据我自身.

发表回复

您的电子邮箱地址不会被公开。

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