嘿,大家好,今天更新的内容是docker开启2376端口CA认证及IDEA中一键部署docker项目。。。

先看效果

我们可以通过idea一键部署docker项目,还以通过idea的控制台实时查看容器内部的日志

Docker CA认证

1、创建ca文件夹,存放CA私钥和公钥

mkdir -p /usr/local/ca
cd /usr/local/ca/

2、创建密码

需要连续输入两次相同的密码

openssl genrsa -aes256 -out ca-key.pem 4096

3、依次输入密码、国家、省、市、组织名称等

openssl req -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem

4、生成server-key.pem

openssl genrsa -out server-key.pem 4096

5、把下面的IP换成你自己服务器外网的IP或者域名

openssl req -subj "/CN=192.168.136.132" -sha256 -new -key server-key.pem -out server.csr

6、配置白名单

0.0.0.0表示所有ip都可以连接(但只有拥有证书的才可以连接成功)

echo subjectAltName = IP:192.168.136.132,IP:0.0.0.0 >> extfile.cnf

7、执行命令,将Docker守护程序密钥的扩展使用属性设置为仅用于服务器身份验证

echo extendedKeyUsage = serverAuth >> extfile.cnf

8、执行命令,并输入之前设置的密码,生成签名证书

openssl x509 -req -days 365 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem \-CAcreateserial -out server-cert.pem -extfile extfile.cnf

9、生成客户端的key.pem,到时候把生成好的几个公钥私钥拷出去即可

openssl genrsa -out key.pem 4096

10、执行命令

openssl req -subj '/CN=client' -new -key key.pem -out client.csr

11、执行命令,要使密钥适合客户端身份验证,请创建扩展配置文件

echo extendedKeyUsage = clientAuth >> extfile.cnf

12、生成cert.pem,需要输入前面设置的密码,生成签名证书

openssl x509 -req -days 365 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem \-CAcreateserial -out cert.pem -extfile extfile.cnf

13、删除不需要的文件,两个证书签名请求

rm -v client.csr server.csr

14、修改权限,要保护您的密钥免受意外损坏,请删除其写入权限。要使它们只能被您读取,更改文件模式

chmod -v 0400 ca-key.pem key.pem server-key.pem

证书可以是对外可读的,删除写入权限以防止意外损坏

chmod -v 0444 ca.pem server-cert.pem cert.pem

15、归集服务器证书

cp server-*.pem  /etc/docker/
cp ca.pem /etc/docker/

16、修改Docker配置,使Docker守护程序仅接受来自提供CA信任的证书的客户端的连接

vim /lib/systemd/system/docker.service

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 \

17、重新加载daemon并重启docker

systemctl daemon-reload
systemctl restart docker

18、开放2376端口

19、重启docker

service docker restart

20、保存相关客户端的pem文件到本地

21、idea的配置

22、若出现以下错误,请查看前面的步骤是否遗漏或出错



至此大功告成,我们就可以通过idea一键部署docker项目以及通过docker的控制台查看容器日志了,简直爽到有木有!!!

本文借鉴:一个善良的码农


今天的更新到这里就结束了,拜拜!!!

感谢一路支持我的人,您的关注是我坚持更新的动力,有问题可以在下面评论留言或随时与我联系。。。。。。

QQ:850434439

微信:w850434439

EMAIL:gathub@qq.com

如果有兴趣和本博客交换友链的话,请按照下面的格式在评论区进行评论,我会尽快添加上你的链接。

网站名称:GatHub-HongHui'S Blog

网站地址:https://www.gathub.cn/

网站描述:不习惯的事越来越多,但我仍在前进…就算步伐很小,我也在一步一步的前进。

网站Logo/头像:头像地址


我的微信公众号,欢迎大家来撩!

docker开启2376端口CA认证及IDEA中一键部署docker项目的更多相关文章

  1. Docker开启TLS和CA认证

    前言:Docker直接开启2375端口是不安全的,别人只要连上之后就可以任意操作,下面是开启Docker的TLS和CA认证方法,并使用Jenkins和Portainer连接. 一.生成证书 查看服务器 ...

  2. 一键部署 Docker Datacenter ---简化docker数据中心安装步骤

    DDC 简介 2016年2月下旬,Docker发布了企业级容器管理和服务部署的整体解决方案平台-Docker Datacenter,简称DDC.DDC 有三个组件构成:1. Docker Univer ...

  3. docker开启api端口,docker启用加速

    此篇是针对centos6的docker,注意ubantu和centos7的会有区别. 需要在docker配置文件中修改信息 centos中是这个文件 /etc/sysconfig/docker,Ubu ...

  4. CentOS7 docker开启tcp端口并进行客户端远程连接

    #docker版本:18.09.0,最好保证客户端端口和服务端端口相同 [root@Centos7 ~]# dockerd-ce -v Docker version , build 4d60db4 网 ...

  5. 转载 江南一点雨 一键部署docker

    一键部署 Spring Boot 到远程 Docker 容器,就是这么秀!   不知道各位小伙伴在生产环境都是怎么部署 Spring Boot 的,打成 jar 直接一键运行?打成 war 扔到 To ...

  6. ubuntu docker开启2375端口,支持远程访问

    1.编辑docker文件:/usr/lib/systemd/system/docker.service vi /usr/lib/systemd/system/docker.service 2.Exec ...

  7. docker 中打包部署Springboot项目

    1.安装jdk yum -y install java-1.8.0-openjdk* 2.安装并启动mysql mysql高版本驱动变了,最后还是安装5.6 docker pull mysql:5.6 ...

  8. Docker开启远程连接,本地IDEA使用docker插件连接(不认证的版本和认证的版本都有)

    前言 在学校学习的时候,要部署一个Java程序,一般是打成war包,放到服务器上的tomcat的webapp里面去: 后来SpringBoot出现内置了tomcat,就直接打成jar包,丢到服务器任何 ...

  9. 【linxu】部署docker容器虚拟化平台

    实验所涉内容 Docker 概述 部署 docker 容器虚拟化平台 docker 平台基本使用方法 创建docker镜像和发布镜像方法 Container 容器端口映射 一 Docker 概述 Do ...

随机推荐

  1. Ajax打开三种页面的请求

    xmlhttprequest对象可以打开两种方式的页面请求 1,.asmx格式的webservice页面. 2,.aspx格式的web窗体 其中web窗体可以是调用一新建的web窗体,同时调用和被调用 ...

  2. OpenGL(十六) 鼠标、键盘交互响应事件

    OpenGL中通过鼠标和键盘跟程序交互的实现需要实现注册鼠标和键盘响应事件,在一定条件下,该事件被触发,事件里的程序被执行,达到交互的目的. 通过glutMouseFunc(&OnMouse) ...

  3. WPF 属性变更通知类的实现

    原文:WPF 属性变更通知类的实现 平时用依赖属性多一些,普通属性的变更通知知道有这个方法,但是老是忘记名字,再写一遍吧. public class Student : INotifyProperty ...

  4. js 动态生成button 并设置click事件

    <div id="MyDiv"></div> <script> function AddButton() { var MyDiv =docume ...

  5. .net core 2.0 读取配置文件

    1.引用Microsoft.Extensions.Configuration2.在Startup中注入服务 public static IConfiguration Configuration { g ...

  6. WPF Button控件模板

     <Window x:Class="ControlTemplateDemo.MainWindow"        xmlns="http://schemas.m ...

  7. c#中的访问修饰符Protected,privet ,public, internal,和internal protected

    Protected,privet ,public, internal,和internal protected的区别 Private修饰的,只能值类内部使用,外部不可以使用,子类不能直接访问,但可以通过 ...

  8. WPF X:Shared概述 - CSDN博客

    原文:WPF X:Shared概述 - CSDN博客 一.含义 X:Shared用于指定请求资源时创建实例的两种方式. X:Shared = "true"(默认):表示所有请求都是 ...

  9. Qt之使用setWindowFlags方法遇到的问题(追踪进入QWidget的源码分析原因,最后用WINAPI解决问题)good

    一.简述 前段时间在使用setWindowFlags方法时遇到了一个坑,具体情况是想通过窗口界面上一个checkBox来控制窗口当前状态是否置顶,而Qt提供了Qt::WindowStaysOnTopH ...

  10. Python写的嗅探器——Pyside,Scapy

    使用Python的Pyside和Scapy写的嗅探器原型,拥有基本框架,但是功能并不十分完善,供参考. import sys import time import binascii from PySi ...