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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 港股交易api(如何查看港股)

    港股历史行情数据API接口所有港股历史交易行情数据,完整历史交易/任意时间段查询。1.产品功能支持所有历史港股交易查询;支持指定任意时间段查询;超高的查询效率,秒级返回;所有的交易数据为未复权的数据;全接口支持HTTPS(TLSv1.0/v1.1/v1.2/v1.3);全面兼容AppleATS;全国多节点CDN部署;接口极速响应,多台服务器构建API接口负载均衡。2.API文档API详情地址:https://www.gugudata

    2022年4月9日
    99
  • android gradle下载慢的解决方法

    android gradle下载慢的解决方法用androidstudio开发时,导入的项目经常会用到各种gradle版本,不知道为何androidstudio下载gradle极慢,最后总是失败。https://services.gradle.org/distributions/这是gradle各版本的官方网站。在这网站上下载速度很快。下载的文件放哪里呢?放到以下对应的目录中。C:\Users\admin\.gradle\wrapper\dists\gradle-6.7-all\cuy9mc7upwgwgeb72wkcrup

    2022年6月24日
    22
  • jsonify返回中文乱码的问题

    jsonify返回中文乱码的问题参考博客:解决flask中文乱码的问题返回内容如图:实际填写的内容:从网上找答案,结果很多都是说配置app.config,如下:app.config[‘JSON_AS_ASCII’]但我试了之后,还是不可能正常显示汉字,最终还是通过配置app.config解决,只是增加了一这一项:参考博客:PythonWEB框架之Flask…

    2022年5月16日
    41
  • 不会报错的Matlab2018a安装包[通俗易懂]

    不会报错的Matlab2018a安装包[通俗易懂]matlab2018a的百度云盘链接:https://pan.baidu.com/s/1972rkmKFw1xZLXfnYtNv-Q提取码:k6hc(永久有效)安装包内含有详细的安装教程的word文档。安装完如下:

    2022年6月3日
    30
  • TOR架构_中国有多少大数据中心

    TOR架构_中国有多少大数据中心1、前言最近在看《云数据中心网络技术》,学习了企业数据中心网络建设过程,看到有ToR和EoR两种布线方式,之前没有接触过,今天总结一下。2、布线方式ToR:(TopofRack)接入方式就是

    2022年8月6日
    4
  • 数据库分库分表解决方案汇总

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 作者 | butterfly100 来源 | cnblogs.com/butterfly100/…

    2021年6月24日
    76

发表回复

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

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