使用本地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
相关推荐
长栎6 小时前
写 for 循环写了十年,你却从没用过迭代器模式最狠的那一面
后端
LiaCode6 小时前
Redis 在生产项目的使用
前端·后端
用户559822481226 小时前
Docker Compose Down 导致容器数据误删——ext4 日志恢复全记录
后端
LiaCode6 小时前
一天学完 redis 的爽翻版核心知识总结
前端·后端
大刚测试开发实战6 小时前
如何内网穿透访问本地私有化部署的TestHub
前端·后端·github
xiaodaoluanzha7 小时前
迄今為止,最簡單的編程語言 Nolang
前端·后端
Csvn7 小时前
Docker 容器管理入门 — 从镜像到容器编排
后端
用户762352425917 小时前
ShardingJDBC
后端
行者全栈架构师7 小时前
IDEA 中 Maven 项目的 15 个红色报错快速解决方法
java·后端
Colin草率地做慢慢地改7 小时前
关于QuickStore这个项目的重构(2)- 数据库建表文件
后端·面试·架构