docker开启远程访问

1.修改docker配置,让其可远程操作:

$ vim /lib/systemd/system/docker.service

将文件内的 ExecStart注释。 新增如下行。
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
  1. 重新加载文件: systemctl daemon-reload

  2. 重启: systemctl restart docker.service

  3. 本地检验是否生效:curl http://127.0.0.1:2375/info 如图

  4. 浏览器访问地址:http://ip:2375/version

    如步骤4上图已经生效,浏览器时却显示链接超时:检查云服务器是否配置安全组及防火墙。

防火墙开启2375端口: firewall-cmd --zone=public --add-port=2375/tcp --permanent

更新防火墙配置: firewall-cmd --reload

以上便开启了docker远程访问,但是对于生成环境,这样配置任何人都可以链接,一点安全性不存在,所以需要操作下一步安全远程访问

docker安全远程访问

以下 www.bai.com 所有全部替换成你的云服务器。其他照着命令一一输入即可生成。

服务端

  1. 创建CA私钥和CA公钥

    1.1 首先创建一个ca文件夹用来存放私钥跟公钥

    mkdir -p /usr/local/ca

    cd /usr/local/ca

    1.2 然后在Docker守护程序的主机上,生成CA私钥和公钥ca-key.pem:

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

    输入密码

  2. 生成私钥证书信息ca.pem

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

    依次输入:访问密码、国家、省、市、组织名称、单位名称、名字、邮箱等

  3. 生成服务器私钥server-key.pem

    openssl genrsa -out server-key.pem 4096

  4. 用CA签署server私钥,生成server.csr

    允许使用 www.baidu.com 进行连接:

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

  5. 匹配白名单,生成extfile.cnf

    echo subjectAltName = DNS:$HOST,IP:XX.XX.XX.XX,IP:XX.XX.XX.XX >> extfile.cnf

    注意:DNS:$HOST 替换成域名网址,IP:$HOST替换为自己的ip地址。配置0.0.0.0,允许所有的ip可以链接。

    echo subjectAltName = DNS:www.bai.com,IP:0.0.0.0 >> extfile.cnf

  6. 将Docker守护程序密钥的扩展使用属性设置为仅用于服务器身份验证:

echo extendedKeyUsage = serverAuth >> extfile.cnf

  1. CA证书生成服务器签名证书server-cert.pem

openssl x509 -req -days 365 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem \

-CAcreateserial -out server-cert.pem -extfile extfile.cnf

执行后需要输入上方设置的密码

客户端

1.生成客户端私钥key.pem

openssl genrsa -out key.pem 4096

2. 证书签名请求client-csr

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

3.使秘钥适合客户端身份验证,创建扩展配置文件:

echo extendedKeyUsage = clientAuth >> extfile.cnf

echo extendedKeyUsage = clientAuth > extfile-client.cnf

4.CA证书生成生成客户端签名

openssl x509 -req -days 365 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem \

-CAcreateserial -out cert.pem -extfile extfile-client.cnf

5.删除不需要的文件

生成后cert.pem,server-cert.pem您可以安全地删除两个证书签名请求和扩展配置文件:

rm -v client.csr server.csr extfile.cnf extfile-client.cnf

修改权限

  1. 修改秘钥文件为只读

    chmod -v 0400 ca-key.pem key.pem server-key.pem
  2. 修改证书文件为只读

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

修改docker配置

1.文件copy到docker文件下

cp server-*.pem /etc/docker/

cp ca.pem /etc/docker/

2.修改配置文件

vim /lib/systemd/system/docker.service

ExecStart=/usr/bin/dockerd --tlsverify --tlscacert=/usr/local/ca/ca.pem --tlscert=/usr/local/ca/server-cert.pem --tlskey=/usr/local/ca/server-key.pem -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

3.重新加载daemon并重启docker

systemctl daemon-reload

systemctl restart docker

4.从目录 /usr/local/ca 下找出ca-key.pem ca.pem cert.pem key.pem 4个文件

IDEA集成docker部署项目

1. 新建DockerFile,配置启动服务

新建DockerFile 文件,一般放在项目根目录下,输入以下配置。

# jdk版本
FROM java:8
#FROM openjdk:8u201-jdk-alpine3.9 #作者
MAINTAINER BolingCavalry <zq2599@gmail.com> #系统编码
#ENV LANG=C.UTF-8 LC_ALL=C.UTF-8 #声明一个挂载点,容器内此路径会对应宿主机的某个文件夹
VOLUME /tmp #应用构建成功后的jar文件被复制到镜像内,名字也改成了app.jar
ADD target/sysadmin.jar app.jar #启动容器时的进程
ENTRYPOINT ["java","-jar","/app.jar"] #暴露8080端口
EXPOSE 8080

2. Docker 连接配置

3. IDEA新建启动



Maven 命令:clean package -U -DskipTests

这里要注意image args镜像名称配置要与DockerFile文件中

ADD target/sysadmin.jar app.jar 相对应

参考地址:

https://www.jb51.net/article/190412.htm

https://cloud.tencent.com/developer/article/1494921

idea秘钥集成docker的更多相关文章

  1. docker ssh秘钥免密登录

    一.概述 有一台跳板机,已经实现了免密登录后端服务器.但是我写了一个django项目,它是运行在容器中的,也需要免密登录后端服务器. 虽然可以在容器中手动做一下免密登录,但是容器重启之后,之前做的设置 ...

  2. Alipay秘钥问题

    有三种秘钥一个是应用公钥 一个是支付宝公钥 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Monaco } span.s1 { text-d ...

  3. ZeroMQ接口函数之 :zmq_z85_encode – 使用Z85算法对一个二进制秘钥进行加密,输出可打印的文本

    ZeroMQ 官方地址 :http://api.zeromq.org/4-0:zmq-z85-encode zmq_z85_encode(3)          ØMQ Manual - ØMQ/4. ...

  4. sshd 指定端口,指定秘钥文件

     scp -i ~/test -P22219 SRC/ root@10.2.227.76:/data/ #sshd的端口指定的是22219,  -i 指定秘钥文件   指定秘钥文件需要注意的是,需要提 ...

  5. 将ubuntu的id_rsa秘钥转为putty的ppk格式

    1.使用putty的puttygen.exe: 2.导入需要转换的秘钥 3.保存私钥

  6. 生成秘钥文件 sn.exe(Strong Name Tool)

    Visual Studio 内置 Strong Name Tool, 我们直接运行"VS开发人员命令提示"就可以生成秘钥文件. 秘钥文件包含公钥和私钥. 来看这个例子: 在文件夹下 ...

  7. Hadoop.2.x_无秘钥设置

    1.在实际生产环境中为Hadoop配置无秘钥登录非常有必要 # 在没有配置时: [liuwl@linux-66-64 hadoop-2.5.0]$ jps 26163 Jps [liuwl@linux ...

  8. 一台电脑存放多个git账户的多个rsa秘钥

    未命名.html div.oembedall-githubrepos{border:1px solid #DDD;border-radius:4px;list-style-type:none;marg ...

  9. java加密算法--MD5加密和哈希散列带秘钥加密算法源码

    package com.ompa.common.utils; import java.security.MessageDigest; import java.security.NoSuchAlgori ...

随机推荐

  1. [bzoj2756]奇怪的游戏

    对棋盘黑白染色后,若n和m都是奇数(即白色和黑色点数不同),可以直接算得答案(根据白-黑不变):若n和m不都是奇数,二分答案(二分的上限要大一点,开$2^50$),最后都要用用网络流来判定.考虑判定, ...

  2. [nowcoder5669A]Ancient Distance

    对于一个$k$,可以二分枚举答案并判断,判断过程可以贪心找最深的点(线段树区间max)+倍增+线段树区间覆盖(清0)来实现,时间复杂度$o(klog_{2}n)$ 考虑反过来,暴力枚举答案$x$并求出 ...

  3. 前端:WebP自适应实践

    WebP介绍 WebP 是 Google 推出的一种同时提供了有损和无损两种压缩方式的图片格式,优势体现在其优秀的图像压缩算法,能够带来更小的图片体积,同时拥有更高的的图像质量.根据官方说明,WebP ...

  4. 关于postman的接口登录验证问题

    1.shiro的接口登录问题 碰到需要接口登录验证的:访问项目接口地址login,找到cookie将Cookie数据放入postman的headers 中. 2.碰到 security的项目.首先把相 ...

  5. 计算机系统->Hello World的一生 | 程序如何运行

    2021年11月27日准备发在基地微信公众号上的推文. 综合了多篇大佬的博客,以及自己已经知道的知识,对一些疑惑进行了现阶段我认为还算满意的解答. 不过又产生了很多疑问: 内存和磁盘的关系 CPU是如 ...

  6. SpringCloud微服务实战——搭建企业级开发框架(二十七):集成多数据源+Seata分布式事务+读写分离+分库分表

    读写分离:为了确保数据库产品的稳定性,很多数据库拥有双机热备功能.也就是,第一台数据库服务器,是对外提供增删改业务的生产服务器:第二台数据库服务器,主要进行读的操作. 目前有多种方式实现读写分离,一种 ...

  7. [CSP-S2019] 树上的数

    考虑处理字典序的一类经典操作: 按位枚举. 我们思考一些性质: 一个点的权值出去则不会再回来. 一条边不会使用两次. 那么我们从小到大来操作. 那么存在矛盾当且仅当: 起点在之前非开始边被操作过 中间 ...

  8. Atcoder Regular Contest 123 题解

    u1s1 我是真的不知道为什么现场这么多人切了 D,感觉 D 对思维要求显然要高于其他 300+ 人切掉的 D 吧(也有可能是 Atc 用户整体水平提升了?) A 开 幕 雷 击(这题似乎 wjz 交 ...

  9. [源码解析] PyTorch 分布式 Autograd (4) ---- 如何切入引擎

    [源码解析] PyTorch 分布式 Autograd (4) ---- 如何切入引擎 目录 [源码解析] PyTorch 分布式 Autograd (4) ---- 如何切入引擎 0x00 摘要 0 ...

  10. iTOL进化树调图细节记录

    目录 1. 注册 2. 去枝长 3. 加图例 4. 无根树颜色 5. 导出图片 iTOL基本用法已经会了,之前记录过一点:系统发育(进化)树绘制小结.最近重用,调图时又发现了些细节,记录下备忘. 1. ...