使用本地IDEA连接服务器远程构建部署Docker服务

一、前置准备工作

1.1 安装配置docker

  1. 本机电脑上安装:docs.docker.com/desktop/set... 2)
  2. 目标服务器(Linux)安装Docker :

暂时无法在飞书文档外展示此内容

  1. 配置docker国内镜像源/代理
bash 复制代码
sudo vim /etc/docker/daemon.json

添加所需要镜像:
{
    "registry-mirrors": [
        "https://registry.docker-cn.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://hub-mirror.c.163.com",
        "https://mirror.baidubce.com",
        "https://ccr.ccs.tencentyun.com"
    ]
}
  1. 重启docker,注意由于走的是守护程序daemon,所以daemon进程也需要重启。
bash 复制代码
sudo systemctl daemon-reload                 #重启daemon进程
sudo systemctl restart docker                 #重启docker

PS:详细的docker国内镜像源配置及代理设置

blog.csdn.net/Lichen0196/...

1.2 IDEA连接远程服务器和docker

配置FTP连接

连接远程服务器中的docker,选用ssh连接

二、操作流程

2.1 目标服务器拉去源代码

  1. 创建工作目录
bash 复制代码
mkdir /root/项目名-docker
mkdir /root/项目名-docker/source-code
mkdir /root/项目名-docker/build-docker-images
mkdir /root/项目名-docker/deploy
cd /root/项目名-docker/source-code
  1. git clone 仓库名地址

2.2 应用构建编译打包

  1. Java后端服务ruoyi-ai.jar包文件构建

    1. (1) 修改application-prod.yml 内容:
  1. IDEA构建编译Jar包

(1)IDEA中的Maven中,勾选prod

(2)同步Maven 更改

(3)执行Clean--package

在target目录中会生成 ruiyi-admin.jar

  1. 构建业务容器镜像

(1)构建完jar包后,在ruoyi-admin目录下,创建Dockerfile文件,内容如下:

bash 复制代码
FROM openjdk:17-jdk

RUN mkdir -p /ruoyi/server/logs \
    /ruoyi/server/temp

WORKDIR /ruoyi/server
COPY ./target/ruoyi-admin.jar ./ruoyi-admin.jar

ENTRYPOINT ["java","-jar","ruoyi-admin.jar"]

(2)连接目标服务器 中的docker,依据本地IDEA 中的Dockerfile配置创建镜像。创建镜像前可进行配置,

若勾选存储为项目文件,则会在根目录下创建.run文件夹

(3)在IDEA服务中指定对应的docker配置点击运行则会在目标服务器的docker中构建出相应的镜像;

2.3 运行业务容器

  1. 进入含有docker-compose.yaml 目录中,修改docker-compose.yaml, 指定创建容器所使用的镜像

前提:运行业务服务之前需要先运行基础服务,如: mysql 、redis、nginx等。

使用命令:docker-compose up -d mysql nginx-web redis minio

  1. 运行业务容器
css 复制代码
docker compose up --no-deps -d ruoyi-backend
相关推荐
Undoom27 分钟前
智能开发环境下的 Diagram-as-Code 实践:MCP Mermaid 技术链路拆解
后端
计算机毕设VX:Fegn08951 小时前
计算机毕业设计|基于springboot + vue图书借阅管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
疯狂的程序猴1 小时前
IPA 深度混淆是什么意思?分析其与普通混淆的区别
后端
cci1 小时前
Remote ssh无法连接?
后端
JohnYan1 小时前
Bun技术评估 - 22 Stream
javascript·后端·bun
okseekw1 小时前
Maven从入门到实战:核心概念+配置详解+避坑指南
java·后端
该用户已不存在1 小时前
Node.js后端开发必不可少的7个核心库
javascript·后端·node.js
踏浪无痕1 小时前
计算机算钱为什么会算错?怎么解决?
后端·算法·面试
undsky_1 小时前
【RuoYi-SpringBoot3-Pro】:接入 AI 对话能力
人工智能·spring boot·后端·ai·ruoyi
疯狂的程序猴1 小时前
一次 iOS App 日志排查的真实经历,测试的时候如何查看实时日志
后端