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. 等待日志出现如下标识代表启动成功。

推送镜像

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


等待进度完成即推送成功

相关推荐
许彰午2 小时前
14_Java泛型完全指南
java·windows·python
智慧物业老杨2 小时前
司法绿色通道下的物业纠纷数智化解决方案——基于“三优先“机制的全流程技术落地实践
java·django
2601_961194022 小时前
2026初级会计实务公式总结大全|计算题公式手册PDF
java·spring·eclipse·pdf·tomcat·hibernate
做个文艺程序员2 小时前
第1篇:K8s 核心概念精讲:Pod、Deployment、Service 与 Namespace——Java 开发者快速上手指南
java·云原生·容器·kubernetes·容器编排
一勺菠萝丶3 小时前
Docker Desktop 启动后容器自动启动怎么办?如何关闭容器自启动
运维·docker·容器
小欣加油5 小时前
leetcode3751 范围内总波动值I
java·数据结构·c++·算法·leetcode
闪电悠米5 小时前
黑马点评-Redisson-01_why_redisson
java·服务器·网络·数据库·缓存·wpf
星轨zb5 小时前
LangChain4j 集成 Spring Boot:会话记忆 NPE 的根源与 ChatMemoryProvider 正确配置
java·spring boot·后端·langchain4j
JAVA9655 小时前
JAVA面试-并发篇 05-并发包AQS队列实现原理是什么
java·开发语言·面试
JAVA面经实录9175 小时前
RocketMQ全套学习知识手册
java·kafka·rabbitmq·rocketmq