【使用Idea创建一键部署项目到Docker(保姆级教程)】

本文介绍了如何在Idea中一键部署项目到Docker,包括在CentOS服务器上安装Docker,配置TLS加密远程传输,以及在Idea中使用插件进行部署的详细步骤,涉及Dockerfile的编写和启动配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

Hello今天给大家带来如何一键部署项目到docker,什么事docker呢如果还有不会的建议先学习一下,这里仅整合资源, 参考原文

1. 安装docker

*这里注意如果你是新服务器,请先安装yum源

1.1 安装依赖包

yum install -y yum-utils device-mapper-persistent-data lvm2

1.2 配置镜像源

//这里配阿里置国内镜像,会快很多
yum config-manager --add-repo=https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

1.3 安装依赖包

yum install -y yum-utils device-mapper-persistent-data lvm2

1.4 安装 containerd

yum install -y containerd.io --allowerasing

1.5 安装 Docker Engine-Community

# 搜索存储库中可用的版本,按照版本号从高到低排序
yum list docker-ce --showduplicates | sort -r

在这里插入图片描述

# 选择可用的版本
yum install -y docker-ce-[这里填版本号]

1.6 验证docker是否安装成功,以及设置开机自启

docker version

在这里插入图片描述
如果出现版本号说明成功了

1.7 docker常用命令

//设置开机自启(强烈建议使用)
systemctl enable docker
//启动 Docker
systemctl start docker
//重启 Docker
systemctl restart docker
//停止 Docker
systemctl stop docker

2. 服务器上使用TSL加密远程传输

2.1 Docker开启远程访问

//这里需要编辑文件注意大小写和空格
vim /usr/lib/systemd/system/docker.service
//输入完命令按i,改完后esc->:wq->回车

ExecStart=/usr/bin/dockerd 追加 -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
在这里插入图片描述
重启 Docker 让配置生效

systemctl daemon-reload
systemctl restart docker

2.2 Docker 启用 TLS

我们这里生成tls证书这一步非常关键,好好看好好学

//1.创建TLS证书存储位置,这一步位置你可以自定义,但是后面的shell脚本地址得改,不想麻烦的话建议跟着我来
 mkdir -p /etc/docker/cert
//2. 创建shell脚本
vim /etc/docker/create_tls_cert.sh

这里是shell脚本,上面命令输入完后,把以下内容粘贴进

#!/bin/bash
set -e
if [ -z $1 ];then
        echo "请输入 Docker 服务器主机名"
        exit 0
fi
HOST=$1
# 生成证书的目录 /etc/docker/cert
cd /etc/docker/cert
openssl genrsa -aes256 -out ca-key.pem 4096
openssl req -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem
openssl genrsa -out server-key.pem 4096
openssl req -subj "/CN=$HOST" -sha256 -new -key server-key.pem -out server.csr
# 配置白名单,推荐配置0.0.0.0,允许所有IP连接但只有证书才可以连接成功
#这里如果你服务器已经配置域名那么就用DNS,如果没有那么就用IP,这里我默认是IP
# echo subjectAltName = DNS:$HOST,IP:0.0.0.0 > extfile.cnf
echo subjectAltName = IP:$HOST,IP:0.0.0.0 > 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
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
 输入完命令按i,改完后esc->:wq->回车

执行脚本

sh /etc/docker/create_tls_cert.sh [这里填写域名或者服务器ip,看你配置文件里配的是什么]
// ps: 比如ip为192.168.1.1 那么就是sh /etc/docker/create_tls_cert.sh 192.168.1.1

在这里插入图片描述

cd  /etc/docker/cert

然后进入一开始配置秘钥存储位置的地方,可以看到有8个文件,如果不是8个就有问题,这里只提取 ca.pem 、cert.pem、key.pem 三个文件到本地(就是你运行idea的机器),找个地方存储起来,比如我放在C盘,或者D盘,创个目录,这个目录一定要记住

2.3 配置 Docker 启用 TLS监听

这一步返回服务器命令窗口,再修改一遍Docker配置

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

在原来的配置后面追加一些东西,或者替换,这里大概意思就是添加生成三个秘钥的路径

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

在这里插入图片描述
老样子重载配置和重启 Docker 生效

systemctl daemon-reload 
systemctl restart docker

3. Idea配置

3.1 下载插件

首先打开Idea去插件市场弄一个插件,File ->Srttings ->Plugins -> Marketplace 搜索Docker,第一个就是

在这里插入图片描述

3.2配置秘钥连接Docker

接下里我们配置一下连接的秘钥
打开 File → Setting → Build,Execution,Deployment → Docker → +
在这里插入图片描述
在这里插入图片描述

显示上面的东西就说明成功了

连接不成功主要有以下几个原因:请逐一排查:

  1. 服务器端口没开放,建议配置安全组开放端口
  2. docker远程连接配置失败.建议好好跟着我前面的文章一步一步来
  3. 本地秘钥路径不正确
  4. 一定哟啊是https开头不能是https
  5. 未知,去百度吧

3.3 开始部署项目

首先呢在项目根目录添加 Dockerfile 文件,什么是根目录,就是和你pom.xml同级的

# 基础镜像
FROM openjdk:8-jre

# 维护者信息
MAINTAINER xxxxx

# 设置容器时区为当前时区
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \&& echo 'Asia/Shanghai' >/etc/timezone

# /tmp 目录作为容器数据卷目录,SpringBoot内嵌Tomcat容器默认使用/tmp作为工作目录,任何向 /tmp 中写入的信息不会记录进容器存储层
# 在宿主机的/var/lib/docker目录下创建一个临时文件并把它链接到容器中的/tmp目录
VOLUME /tmp

# 复制主机文件至镜像内,复制的目录需放置在 Dockerfile 文件同级目录下
ADD target/admin-boot.jar app.jar

# 容器启动执行命令
ENTRYPOINT ["java", "-Xmx128m", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar"]

# 声明容器提供服务端口
EXPOSE 8800

在这里插入图片描述

3.4 运行配置

在这里插入图片描述
左上角+ -> Docker -> Dockerfile
在这里插入图片描述
在这里插入图片描述

打包命令: clean package -U -DskipTests
启动配置: spring.profiles.active= 哪个配置文件

在这里插入图片描述
选择服务点击启动就行了,好了这里就是全部内容了,制作不易,感谢大家三连!献上膝盖了
在这里插入图片描述

### starRC、LEF 和 DEF 文件的 EDA 工具使用教程 #### 关于 starRC 的使用说明 starRC 是由 Synopsys 开发的一款用于寄生参数提取 (PEX) 的工具,在 detail routing 完成之后被调用,以提供精确的电阻电容延迟分析数据[^2]。该工具能够处理复杂的多层互连结构并支持多种工艺节点。 对于 starRC 的具体操作指南,通常可以从官方文档获取最权威的信息。访问 Synopsys 官方网站的技术资源页面,可以找到最新的产品手册以及应用笔记等资料。此外,还可以通过在线帮助系统获得交互式的指导和支持服务。 #### LEF 和 DEF 文件格式解析及其在 Cadence 中的应用 LEF(Library Exchange Format)和 DEF(Design Exchange Format)是两种广泛应用于集成电路布局布线阶段的标准文件格式之一[^3]。前者主要用于描述标准单元库中的元件几何形状;后者则记录了整个芯片版图的设计信息,包括但不限于各个模块的位置关系、网络连接情况等重要细节。 当涉及到这些文件类型的编辑或读取时,Cadence 提供了一系列强大的平台解决方案,比如 Virtuoso Layout Editor 就可以直接打开并修改 LEF/DEF 格式的项目工程。为了更好地理解和运用这两种文件格式,建议参阅 Cadence 发布的相关培训材料或是参加其举办的专项课程学习活动。 ```bash # 示例命令:查看 LEF 或 DEF 文件内容 cat my_design.lef cat my_design.def ```
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值