docker 构建jar包/vue镜像以及发布

1、maven 对项目进行jar/war打包:

如:my-notepad-service-1.006.jar

2、构建镜像:

新建Dockerfile内容有:

shell 复制代码
FROM openjdk:8-jdk-alpine
# 作者
MAINTAINER Yang douya
# jar包添加到镜像中 第一个是maven打包jar 第二个为在镜像中得jar名称 通常aven打包jar都会价版本号 镜像版本不用
ADD  my-notepad-service.jar  my-notepad-service.jar
# 应用中有中文标识 特别是验证码会报java.lang.NullPointerException at sun.awt.FontConfiguration.getVersion异常 解决增加字体
RUN echo -e 'https://mirrors.aliyun.com/alpine/v3.6/main/\nhttps://mirrors.aliyun.com/alpine/v3.6/community/' > /etc/apk/repositories \
 && apk update \
 && apk upgrade \
 && apk --no-cache add ttf-dejavu fontconfig

# 解决时差8小时问题
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 暴露端口号
EXPOSE 8085
# 容器启动之后要执行的命令
ENTRYPOINT ["java", "-jar", "my-notepad-service.jar"]

以上Dockerfile设置时区,但是运行之后容器依然存在时间错误问题,所以必须在启动中加入同宿主机时间同步

-v /etc/localtime:/etc/localtime

对于已经存在了的容器修改时间

docker exec -it 容器 /bin/sh

执行下方命令同步宿主机时间

ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

如果执行上方命令出错 需要安装时间插件 tzdata

shell 复制代码
# centos
yum update && yum  install -y tzdata
# ububtu
apt-get update && apt-get install -y tzdata

将Dockerfile和my-notepad-service-1.006.jar jar文件放到同一个目录下

使用命令构建镜像,注意最后一个.为DockerFile文件和jar文件在同一个目录:

shell 复制代码
docker build -t my-notepad-service:1.006 .

docker image 查看即可

执行启动镜像-v /etc/localtime:/etc/localtime 目的是保证容器时间和宿主机时间一致

shell 复制代码
docker run --name my-notepad-service \
-p 8085:8085 \
-v /etc/localtime:/etc/localtime \
-d my-notepad-service:1.006

构建vue项目

先安装nginx:1.24.0后面全部使用该镜像依赖

1、npm run build XXX 打包vue项目

2、编写Dockerfile

shell 复制代码
# 设置基础镜像,这里使用最新的nginx镜像,前面已经拉取过了
FROM nginx:1.24.0
# 定义作者
MAINTAINER Yang Douya 
# 将dist文件中的内容复制到 /usr/share/nginx/html/ 这个目录下面
COPY dist/ /usr/share/nginx/html/

3、将打包好得dist目录同Dockerfile上传到服务器某个目录下

4、执行docker 构建

shell 复制代码
docker build -t my-notepad-admin:1.001 .
shell 复制代码
# 运行
docker run --name=my-notepad-admin \
-p 7681:80 \
-d my-notepad-admin:1.001
相关推荐
java_logo3 小时前
Docker 部署 Dify:轻松搭建 LLM 应用开发平台
运维·docker·容器
方便面不加香菜4 小时前
Docker Container -- 综合实战案例详解
运维·docker·容器
10share8 小时前
基于大模型的 i18n 方案:把中文原文当 Key,轻松搞定多语言维护
前端·vue.js
修己xj9 小时前
在 AMD 机器上拉取 ARM 架构 Docker 镜像
docker
瑞克-桑切斯11 小时前
docker Harbor 单机部署手册
大数据·运维·elasticsearch·docker·容器
啾咪orJIUMI13 小时前
Vue 3 + 高德地图封装实战:点位、区域、Loca 流光与 Vue 信息窗体
前端·vue.js
FRing0313 小时前
vue2干货总结8(路由模块封装、router-link、声明式导航、路由重定向、编程式导航)
开发语言·前端·vue.js·vue2
无懈可击14 小时前
Vue 可视化AI表单设计器 FcDesigner v3.6 版本发布,支持导出 SQL功能!
vue.js·开源·ai编程
徐小夕15 小时前
JitArchives,一款基于JitWord协同AI文档打造的企业级电子档案系统
前端·vue.js·github
头发还在的女程序员17 小时前
基于 Spring Boot + Vue 3 + uni-app 的灵活用工系统:四端架构与业务流程设计
vue.js·spring boot·uni-app·灵活用工·灵工系统