首页 > 其他分享 >IDEA连接docker

IDEA连接docker

时间:2024-07-04 09:20:07浏览次数:18  
标签:ca IDEA server pem client key docker 连接

  1. 修改配置文件

    vi /usr/lib/systemd/system/docker.service
    

    修改ExecStart

    ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --tlsverify --tlscacert=/etc/	docker/certs/ca.pem --tlscert=/etc/docker/certs/server-cert.pem --tlskey=/etc/docker/certs/server-key.pem -H 	tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
    
  2. 开放2375端口

    ufw allow 2375
    
  3. 生成签名证书

    touch -p /home/app/create_cert.sh
    

    写入以下内容,需要自行替换其中的服务器IP和加密密码

    #docker TLS 证书
    #!/bin/bash
    
    #相关配置信息
    SERVER="192.168.200.135" 
    PASSWORD="123456"
    COUNTRY="CN"
    STATE="JINHUA"
    CITY="WUYI"
    ORGANIZATION="HJ"
    ORGANIZATIONAL_UNIT="product"
    EMAIL="[email protected]"
    
    ###开始生成文件###
    echo "开始生成文件"
    
    mkdir -pv /etc/docker/certs
    
    #切换到生产密钥的目录
    cd /etc/docker/certs 
    #生成ca私钥(使用aes256加密)
    openssl genrsa -aes256 -passout pass:$PASSWORD  -out ca-key.pem 4096
    #生成ca证书,填写配置信息
    openssl req -new -x509 -passin "pass:$PASSWORD" -days 3650 -key ca-key.pem -sha256 -out ca.pem -subj "/C=$COUNTRY/ST=$STATE/L=$CITY/O=$ORGANIZATION/OU=$ORGANIZATIONAL_UNIT/CN=$SERVER/emailAddress=$EMAIL"
    
    #生成server证书私钥文件
    openssl genrsa -out server-key.pem 4096
    #生成server证书请求文件
    openssl req -subj "/CN=$SERVER" -new -key server-key.pem -out server.csr
    
    sh -c 'echo subjectAltName = IP:0.0.0.0,IP:192.168.200.135,IP:127.0.0.1 >> extfile.cnf'
    sh -c 'echo extendedKeyUsage = serverAuth >> extfile.cnf'
    
    #使用CA证书及CA密钥以及上面的server证书请求文件进行签发,生成server自签证书
    openssl x509 -req -days 3650 -in server.csr -CA ca.pem -CAkey ca-key.pem -passin "pass:$PASSWORD" -CAcreateserial  -out server-cert.pem -extfile extfile.cnf
    
    #生成client证书RSA私钥文件
    openssl genrsa -out key.pem 4096
    #生成client证书请求文件
    openssl req -subj '/CN=192.168.200.135' -new -key key.pem -out client.csr
    
    sh -c 'echo "extendedKeyUsage=clientAuth" > extfile-client.cnf'
    #生成client自签证书(根据上面的client私钥文件、client证书请求文件生成)
    openssl x509 -req -days 3650 -in client.csr -CA ca.pem -CAkey ca-key.pem  -passin "pass:$PASSWORD" -CAcreateserial -out cert.pem  -extfile extfile-client.cnf
    
    #更改密钥权限
    chmod 0400 ca-key.pem key.pem server-key.pem
    #更改密钥权限
    chmod 0444 ca.pem server-cert.pem cert.pem
    #删除无用文件
    rm client.csr server.csr
    
    echo "生成文件完成"
    ###生成结束###
    

    执行脚本

    sh /home/app/create_cert.sh
    
  4. 重启docker

    systemctl daemon-reload 
    systemctl restart docker 
    
  5. 配置IDEA
    将生成的cert整个目录拷贝到本地并配置IDEA
    image

标签:ca,IDEA,server,pem,client,key,docker,连接
From: https://www.cnblogs.com/marchxd/p/18282918

相关文章

  • 容器技术-docker5
    一、docker-compose常用命令和指令1.概要默认的模板文件是docker-compose.yml,其中定义的每个服务可以通过image指令指定镜像或build指令(需要Dockerfile)来自动构建。注意如果使用build指令,在Dockerfile中设置的选项(例如:CMD,EXPOSE,VOLUME,ENV等)将会自......
  • Docker编译Azerothcore源码
    维基百科Docker是一个开放源代码软件,是一个开放平台,用于开发应用、交付(shipping)应用、运行应用。Docker允许用户将基础设施(Infrastructure)中的应用单独分割出来,形成更小的颗粒(容器),从而提高交付软件的速度。Docker容器与虚拟机类似,但二者在原理上不同。容器是将操作系统层虚拟......
  • 1.数据库的连接、创建会话与模型
    SQLAlchemy是一个强大的Python库,它让你可以用一种面向对象的方式来操作数据库(ORM技术)。在学习SQLAlchemy的过程中,需要一些基础知识的沉淀:Python基础、Python面向对象、MySQL数据库的诸多知识点……在此之前,你可能需要了解传统执行SQL语句和使用ORM的一些区别以及他们的概......
  • 连接
    570.至少有5名直接下属的经理-力扣(LeetCode)selectEmployee.NameasNamefrom(selectManagerIdasIdfromEmployeegroupbyManagerIdhavingcount(Id)>=5)asManagerjoinEmployeeonManager.Id=Employee.Id1934.确认率-力扣(LeetCode)sel......
  • 用WSL2+Docker Desktop部署InLong的坑和经验
    WSL的网络坑死了————题记看到腾讯在搞开源,邂逅了ApacheInLong,觉得很有意思,就开始研究。考虑到这是和性能有关的东西,以后说不定还要压测什么的,所以就决定用WSL2+DockerDesktop,不用虚拟机了,感觉这样性能会好一点,正好也熟悉熟悉命令行,毕竟打CTF虽然天天用Linux但基本能用GU......
  • 巴图制自动化Profinet协议转Modbus协议模块连接PLC和电表通信
    1、免编写Modbus轮询程序实现PLC与电表通信的方法在智能化时代,工业自动控制中的PLC和电表之间的通信是一个常见的需求。传统上,为了使PLC与电表通信,通常需要编写Modbus查询程序来读取和控制数据。然而,使用巴图制自动化Profinet协议转Modbus协议模块(BT-MDPN10),PLC和电表之间的通信......
  • 在Ubuntu上用Docker轻松实现GPU加速的TensorFlow
    前言在深度学习和机器学习的世界中,GPU的使用可以显著加速模型训练和推理的速度。NVIDIAContainerToolkit允许我们在Docker容器中使用NVIDIAGPU,从而简化了在GPU上运行TensorFlow等深度学习框架的过程。本文将详细介绍如何在Ubuntu上配置NVIDIAContainerToolkit并运行GP......
  • Docker系列-Docker镜像分层原理
    Docker镜像的分层原理是其实现高效、灵活和可复用性的关键。以下是对Docker镜像分层原理的详细说明:一、基本概念Docker镜像是一种轻量级、可执行的独立软件包,它包含运行某个软件所需要的所有内容,如代码、运行时库、环境变量和配置文件等。镜像通过Dockerfile定义并构建,最终形......
  • 使用IDEA给项目打jar包
    使用IDEA给项目打jar包参考地址:https://www.cnblogs.com/blog5277/p/5920560.html感谢作者一、准备一个Java项目并先看看效果​ 只想打包,就跳过这一步:一、准备一个Java项目并先看看效果。​ 如果启动jar包遇到报错:无法找到/加载主类就去看看第二步开头。1、找一个项目......
  • 软连接与硬链接
    (1)软链接(symboliclink)创建命令:ln-s<target><link_name>其中:<target>是目标文件或目录的路径,可以是相对路径或绝对路径。<link_name>是要创建的软链接的名称,可以是相对路径或绝对路径。特点:笔试面试填空题和简答题:软链接的特点文件指向:软......