IDEA 一键部署Docker

以部署示例服务(sevnce-demo)为例。

配置服务器


地址、账号、密码根据实际情况填写

配置镜像仓库

地址、账号、密码根据实际情况填写

编写Dockerfile

在sevnce-demo根目录下右键,选择创建Dockerfile。

dockerfile 复制代码
# 基础镜像
FROM sevnce-registry.cn-chengdu.cr.aliyuncs.com/sevnce/jdk:17.0.5

# 运行的命令
RUN rm -rf /var/lib/apt/lists/* \
        && localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8

# 设置语言编码
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
# 设置默认时区
ENV TZ=Asia/Shanghai

# 将工作目录设置为 /myapps
WORKDIR /usr/local/myapps

# 添加
ADD target/sevnce- demo -*.jar sevnce- demo .jar

# 指定运行环境
SHELL ["/bin/bash", "-c"]

# 运行的命令
RUN touch appstart.sh \
        && chmod +x appstart.sh \
        && mkdir /logs\
        && echo 'nohup java -Djava.security.egd=file:/dev/./urandom \
                 -Dspring.config.location=/usr/local/config/ \
                 -jar /usr/local/myapps/sevnce- demo .jar > /logs/startLog.file 2>&1 &' > appstart.sh

# 启动时运行的命令
ENTRYPOINT /usr/local/myapps/appstart.sh && tail -F /logs/startLog.file

配置运行参数

  1. 配置预执行Maven命令



复制代码
clean install -U -DskipTests

点击ok,再次添加:

复制代码
clean package -U -DskipTests
  1. 配置镜像名称
复制代码
sevnce-registry.cn-chengdu.cr.aliyuncs.com/sevnce/sevnce-demo:1.0.0
  1. 配置容器名称
复制代码
sevnce-demo
  1. 配置运行参数
  1. 配置端口映射
  1. 配置运行命令
复制代码
-d --restart=on-failure
  1. 配置目录挂载

以上根据实际情况填写

运行Dockerfile

  1. 运行Dockerfile前,需要确保服务器连接成功。
  1. 配置启动参数。


切记更改版本号!

  1. 等待日志出现如下标识代表启动成功。

推送镜像

为了方便在其他服务器快速部署,可以推送镜像到镜像仓库。


等待进度完成即推送成功

相关推荐
小许学java13 分钟前
Spring原理
java·spring·生命周期·作用域·原理
教练、我想打篮球32 分钟前
122 Hession,FastJson,ObjectInputStream的序列化反序列化相同引用的处理
java·config·utils
酷柚易汛1 小时前
酷柚易汛ERP 2025-12-26系统升级日志
java·前端·数据库·php
侠客行03171 小时前
Mybatis入门到精通 一
java·mybatis·源码阅读
消失的旧时光-19431 小时前
微服务的本质,其实是操作系统设计思想
java·大数据·微服务
Coder_Boy_1 小时前
基于SpringAI的智能平台基座开发-(四)
java·人工智能·spring boot·langchain·springai
码界奇点2 小时前
基于Spring Boot的内容管理系统框架设计与实现
java·spring boot·后端·车载系统·毕业设计·源代码管理
HPYON2 小时前
【docker】CentOS安装docker失败,一直提示yum没有docker仓库
docker·容器·centos
墨雪不会编程2 小时前
C++【string篇1遍历方式】:从零开始到熟悉使用string类
java·开发语言·c++
蒂法就是我2 小时前
有一张表,只有一个字段没有插入主建,能插入成功吗? 隐藏的 rowid除了在这里用到还在哪里用到了?
java