Java项目打包成镜像部署在docker中
本文最后更新于32 天前,其中的信息可能已经过时,如有错误请发送邮件到3091169959@qq.com

引言

最近准备新开几个项目,但是考虑到服务的成本问题,原本的轻量级服务器恐怕难以委以重任,于是便去捣鼓了frp的内网穿透,最后选择的方案是准备在轻量级的服务器上通过部署frp来实现本地项目的公网访问,因为本人的E5神机作为工作站使用还是绰绰有余,所以拿来部署项目也没有太大压力。在选择这个方案进行服务端和客户端测试的时候,发现frp也是基于端口的映射(觉得配置麻烦可以选择现成的内网穿透工具,一个月10块钱左右就可以拿到一个公共域名),不过因为已经有一个服务器了,就不想着再增加成本,考虑到以后会部署多个项目,每个都单独去买端口映射有点肉疼的,所以还是打算自己来部署。有兴趣的也可以去看看内网穿透和隧道打洞的相关服务,但是需要注意保护好自己的信息安全,毕竟打洞暴露端口还是有点风险的。好了回到正题,在部署客户端的时候,因为我用的都是docker的拉取frp,所以客户端连接也是用docker部署,因为不想一直在idea中启动项目,所以最后也是把项目打包成镜像一起放到docker中,然后做一个端口映射来实现部署服务,今天主要来分享如何部署到docker中的内容。

一、前置准备

  • JDK 8+(用于编译 Java 项目)
  • Maven 或 Gradle(构建工具)
  • Docker Desktop(Windows/Mac)或 Docker Engine(Linux)
  • 项目已能本地运行:java -jar your-app.jar

windows上的docker安装可以参考网上的,注意区分自己系统的版本,家庭版是不支持开启虚拟化的

二、编写 Dockerfile

在项目根目录创建一个名为 Dockerfile 的文件(无后缀),内容如下:

# 基础镜像 openjdk:8-jre-slim
FROM openjdk:8-jre-slim

# 维护者信息(可选)
LABEL maintainer="your-name@example.com"

# 配置
ENV PARAMS=""

# 时区
ENV TZ=PRC
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

# 添加应用
ADD target/frp-test-app.jar /frp-test-app.jar

## 在镜像运行为容器后执行的命令
ENTRYPOINT ["sh","-c","java -jar $JAVA_OPTS /frp-test-app.jar $PARAMS"]

三、构建docker镜像

在当前根目录下执行命令,该命令会基于当前目录的 Dockerfile 构建一个名为 test/frp-test-app:1.0 的 Docker 镜像。

docker build -t test/frp-test-app:1.0 -f ./Dockerfile .

随后只要把该镜像启动即可

当然可以直接在命令行启动,这里为了后续方便管理和维护,在idea项目中建立一个 docker-compose.yml文件,内容如下:

version: '3.8'
# 命令执行 docker-compose -f docker-compose-app.yml up -d
services:
frp-test-app:
  image: test/frp-test-app:1.0
  container_name: frp-test-app
  restart: always
  ports:
    - "8080:8080"

在idea中配置相关的docker操作即可运行该文件,随后就可以从docker desktop中看到自己的镜像启动,也可以看到日志记录,后续会继续捣鼓如何把镜像上传。

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
//根据主题自动透明