本文简单介绍利用springboot jar包打docker镜像并运行

简介: 本文简单介绍利用springboot jar包打docker镜像并运行

首先附上DockerFile文件

基础镜像使用java

FROM openjdk:8-alpine

VOLUME 指定了临时文件目录为/tmp。

其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp

VOLUME /tmp

将jar包添加到容器中并更名为app.jar

ADD sinosig-0.0.1-SNAPSHOT.jar app.jar

定义jvm参数变量

ENV JAVA_OPTS="-XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xms1024m -Xmx1024m -Xmn256m
-Xss256k -XX:SurvivorRatio=8
-XX:+UseConcMarkSweepGC -XX:+PrintGCDateStamps -Xloggc:/logs/gc.log"
ENTRYPOINT java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar -Duser.timezone=GMT+08 /app.jar

先更新github上的代码,执行mvn clean package打jar包,然后将jar包复制到DockerFile同级的文件夹下,执行docker build -t springbootimages --rm=true . 进行打镜像操作(--rm=true .意为删除产生的中间镜像),打好镜像后,执行docker run -d -p 8088:8088 --name myWebSite -v /root/springboot/dockerLogs:/logs/ -v /etc/localtime:/etc/localtime springbootimages来启动镜像

-Duser.timezone 意为设置时区,由于openjdk:8-alpine没有提供时区,在打印日志等操作时会有时间问题,所以设置时区为上海

-d 后台运行

-p 端口映射

--name 给容器起名

-v 文件挂载,将容器内的日志输出挂载到服务器指定路径上,并将服务器的时间用于容器的时间

目录
相关文章
|
20天前
|
Kubernetes Java Docker
利用(K8S)配合Docker部署jar包
通过Docker打包并部署到Kubernetes(K8S)集群的过程。首先,通过SpringBoot生成jar包,接着在K8S环境中创建并编辑Dockerfile文件。随后构建Docker镜像,并将其推送到镜像仓库。最后,通过一系列kubectl命令(如get pods、get svc、logs等),展示了如何在K8S中管理应用,包括查看Pod状态、服务信息、Pod日志以及重启Pod等操作。
80 2
|
19天前
|
应用服务中间件 Linux nginx
Docker镜像-手动制作yum版nginx镜像
这篇文章介绍了如何手动制作一个基于CentOS 7.6的Docker镜像,其中包括下载指定版本的CentOS镜像,创建容器,配置阿里云软件源,安装并配置nginx,自定义nginx日志格式和web页面,最后提交镜像并基于该镜像启动新容器的详细步骤。
79 21
Docker镜像-手动制作yum版nginx镜像
|
19天前
|
应用服务中间件 nginx Docker
Docker镜像-基于DockerFile制作编译版nginx镜像
这篇文章介绍了如何基于Dockerfile制作一个编译版的nginx镜像,并提供了详细的步骤和命令。
95 17
Docker镜像-基于DockerFile制作编译版nginx镜像
|
19天前
|
应用服务中间件 Linux nginx
Docker镜像管理篇
关于Docker镜像管理的教程,涵盖了Docker镜像的基本概念、管理命令以及如何制作Docker镜像等内容。
90 7
Docker镜像管理篇
|
19天前
|
应用服务中间件 Linux nginx
Docker镜像-基于DockerFile制作yum版nginx镜像
本文介绍了如何使用Dockerfile制作一个基于CentOS 7.6.1810的yum版nginx镜像,并提供了详细的步骤和命令。
60 20
|
18天前
|
Docker 容器
Docker Hub镜像公共仓库使用
这篇文章介绍了如何使用Docker Hub公共仓库进行镜像的创建、上传、下载和管理。
310 8
|
21天前
|
容器 Java Spring
Spring框架遇上Docker:传统与现代的碰撞,谁将重塑应用部署的未来?
【8月更文挑战第31天】Spring框架凭借其强大的企业级特性和便捷的开发模式,在Java开发中占据重要地位。Docker作为容器化技术的代表,提供了轻量级、可移植的应用部署解决方案。两者结合,尤其在微服务架构中,能显著提升开发效率、部署速度和环境一致性。
34 0
|
23天前
|
运维 前端开发 API
实战 web 应用 Docker 镜像解耦交付
实战 web 应用 Docker 镜像解耦交付
|
Java Maven Docker
Docker部署可执行jar包
Docker部署可执行jar包
4156 0
|
7天前
|
弹性计算 运维 持续交付
探索Docker容器化技术及其在生产环境中的应用
探索Docker容器化技术及其在生产环境中的应用
38 5