新版IDEA(2024款)一键部署Docker应用

941 阅读2分钟

前沿

  • 本次教材是基于本地 idea 集成 docker 插件,然后利用本地的 Dockerfile文件实现发布 web 项目到服务器。

第一步需要下载 docker 插件

第二步配置 docker 服务器远程连接

再此处输入 ssh 登录服务器的 ip+账号+密码 保存

第三步编写Dockerfile文件

#项目所依赖的jdk镜像
FROM crpi-poo5g8245g2y8qku.cn-hangzhou.personal.cr.aliyuncs.com/qingty/jdk:eclipse-temurin-21
#这里的 /tmp 目录就会在运行时自动挂载为匿名卷,任何向 /tmp 中写入的信息都不会记录进容器存储层
VOLUME /tmp

#复制上下文目录下的target/springboot-demo-docker-0.0.1-SNAPSHOT.jar 到容器里
COPY target/user-center-endpoint-*.jar user-center.jar

# 设置环境变量,指定使用的配置文件
#ENV SPRING_PROFILES_ACTIVE=online
#ENV SPRING_PROFILES_ACTIVE=lp
ENV TZ=Asia/Shanghai
ENV LANG="en_US.UTF-8"


# 开放远程调试端口
ENV DUBBO_IP_TO_REGISTRY=11.11.163.205 \
    JAVA_TOOL_OPTIONS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8002" \
    JAVA_OPTS="-Xms1g -Xmx1g"

#暴露的端口号(和项目端口号等同)
EXPOSE 8080 8002 20880 9999

#镜像所执行的命令
ENTRYPOINT ["java", "-jar", "user-center.jar"]

注意:1.FROM 拉取 images 的时候可能会遇到失败的情况,我们可以找国内的镜像源,或者本地通过科学上网拉取到需要 images,然后上传到阿里云/腾讯云的 容器镜像服务,

2.此处使用的是本地打包 jar的方式。

3.8002 端口为远程调试端口,线上必须要关闭

第四步编写 docker 发布脚本

步骤:

  • 添加一个 docker
  • 选择我们之前第二步的 docker远程服务器连接

Build

  • 选择我们自己编写的那份 dockerfile
  • 写入自己需要打包的项目 images,格式: 镜像名称:镜像版本号

Run

  • 容器名称:自取
  • 运行参数:-d --name user-center -e DUBBO_IP_TO_REGISTRY=47.xx.xx.205 -p 8080:8080 -p 8002:8002 -p 20880:20880 -p 9999:9999 --restart always

Before lanuch

  • 添加一个 maven脚本:clean package -Dautoconfig.interative=false -Dmaven.test.skip=true -Dmaven.javadoc.skip=true

到此为止就可以愉快的编译发布!