使用本地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
相关推荐
YC运维3 小时前
Dockerfile实战案例详解
运维·docker·容器
你的人类朋友5 小时前
先用js快速开发,后续引入ts是否是一个好的实践?
前端·javascript·后端
码事漫谈5 小时前
医疗设备控制系统中同步与异步通信的架构设计
后端
码事漫谈6 小时前
C++ 中 rfind 方法详解
后端
小灰灰的可爱无人可替代6 小时前
记录一次使用docker和docker-compose更新vue前端项目问题
nginx·docker·vue
AAA修煤气灶刘哥6 小时前
服务器指标多到“洪水泛滥”?试试InfluxDB?
数据库·后端·面试
uzong7 小时前
技术面试,时间不足15分钟,面试官就挂掉了电话,原因竟然是……
后端·面试
Roye_ack7 小时前
【项目实战 Day12】springboot + vue 苍穹外卖系统(Apache POI + 工作台模块 + Excel表格导出 完结)
java·spring boot·后端·excel·苍穹外卖
kobe_OKOK_7 小时前
Django ORM 字段查询表达式(Field lookup expressions)
后端·python·django