win10环境下使用docker部署spring-boot项目

基本目录结构

前置条件

  1. windows正常docker服务启动

pom插件配置

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.2.1.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.sun</groupId>
	<artifactId>docker-demo</artifactId>
	<version>0.0.1</version>
	<name>docker-demo</name>
	<description>Demo project for Spring Boot</description>

	<properties>
		<java.version>1.8</java.version>
		<docker.image.prefix>springboot</docker.image.prefix>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
			<scope>runtime</scope>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
			<exclusions>
				<exclusion>
					<groupId>org.junit.vintage</groupId>
					<artifactId>junit-vintage-engine</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>

			<plugin>
				<groupId>com.spotify</groupId>
				<artifactId>docker-maven-plugin</artifactId>
				<version>0.4.14</version>
				<configuration>
					<imageName>${docker.image.prefix}/${project.artifactId}</imageName>
					<dockerDirectory>src/main/docker</dockerDirectory>
					<resources>
						<resource>
							<targetPath>/</targetPath>
							<directory>${project.build.directory}</directory>
							<include>${project.build.finalName}.jar</include>
						</resource>
					</resources>
				</configuration>
			</plugin>
		</plugins>
	</build>

</project>

Dockerfile文件配置

FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD docker-demo-0.0.1.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

执行插件命令

项目路径下执行 mvn clean package docker:build命令进行打包且构建镜像

查看结果

上面是利用插件进行构建镜像的方式;如果没有使用该插件可以直接将执行mvn package后生成的jar包,复制到含有Dockerfile的文件夹中,然后执行docker命令docker build -t docker-spring-demo:0.0.1 . 构建镜像

踩坑记录

  1. Dockerfile写成DockerFile后,执行失败

    2.maven中<include>${project.build.finalName}.jar</include>.jar漏写之后,执行命令后一直找不到jar包

原文地址:https://www.cnblogs.com/yiweiblog/p/12652566.html

时间: 2024-10-09 00:53:51

win10环境下使用docker部署spring-boot项目的相关文章

docker部署spring boot项目在服务器上

IDE:idea 工具:docker spring boot:2.0.1 ======================================== 简单记录一下流程,以供参考: 第一步:首先得有一个spring boot的项目[集成了jpa+mybatis的spring boot 例子:https://github.com/AngelSXD/swapping] 第二步:项目打包为jar包 install成功以后 找到项目根目录下的target目录,这里面的jar就是打包好可以部署的jar

如何用Docker部署Spring Boot项目

1.idea中安装docker插件: 2.新建DockerFile,内容如下. # 基础镜像使用java FROM java:8 # 作者 MAINTAINER vic <[email protected]> # VOLUME 指定了临时文件目录为/tmp. # 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp VOLUME /tmp # 将jar包添加到容器中并更名为app.jar ADD es-1.0.0-SNAPSHOT.jar app.j

在CentOS 7上安装docker,部署spring boot

一.查看linux版本:lsb_release -a (如没有这个命令,安装:yum install -y redhat-lsb) uname -r docker 在centos安装,需要centos 7以上版本. 二.docker 安装操作步骤 docker 官网 :  https://docs.docker.com/get-started 安装必要的工具:Install required packages. yum-utils provides the yum-config-manager 

【docker】docker部署spring boot服务,但是docker logs查看容器输出控制台日志,没有日志打印,日志未打印,docker logs不打印容器日志

如题: docker部署spring boot服务,但是docker logs查看容器输出控制台日志,没有日志打印,日志未打印,docker logs不打印容器日志 场景再现: docker部署并启动了  springboot服务,容器启动正常,docker exec 也可以正常进入容器内部,但是docker logs 控制台并没有日志打印出来. 同样的,/var/lib/docker/containers目录下的对应容器目录中,也没有对应的 *-json.log日志文件生成. 原因: dock

Gitlab CI 集成 Kubernetes 集群部署 Spring Boot 项目

在上一篇博客中,我们成功将 Gitlab CI 部署到了 Docker 中去,成功创建了 Gitlab CI Pipline 来执行 CI/CD 任务.那么这篇文章我们更进一步,将它集成到 K8s 集群中去.这个才是我们最终的目标.众所周知,k8s 是目前最火的容器编排项目,很多公司都使用它来构建和管理自己容器集群,可以用来做机器学习训练以及 DevOps 等一系列的事情. 在这里,我们聚焦 CI/CD,针对于 Spring Boot 项目,借助 Gitlab CI 完成流水线的任务配置,最终部

Spring Boot 2.0(六):使用 Docker 部署 Spring Boot 开源软件云收

只需三步即可部署开源项目云收藏,打造专属个人的收藏系统,就是这么简单! 云收藏项目已经开源2年多了,作为当初刚开始学习 Spring Boot 的练手项目,使用了很多当时很新的技术,现在看来其实很多新技术是没有必要使用的,但做为学习案例来讲确实是一个绝佳的 Spring Boot 实践. 从开源到现在,写了一些教程给大家介绍如何部署云收藏,如何在IDE中运行云收藏,但是仍然有很多的朋友不知道如何使用,如何部署?就像"请提供一份云收藏数据结构" 这样的问题我至少都回答了一百多次,并且在

docker 部署Spring Boot:Docker化Spring Boot应用程序

第一章 1.创建项目存放目录 mkdir /root/sproot -p 2.准备好Spring Boot应用程序 jar 包 testrest.jar 第二章 1. 安装docker 在所有节点执行:   setenforce 0 iptables -F iptables -t nat -F iptables -I FORWARD -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT iptables -I INPUT -s 192.168.0.0/24 -j ACCEPT

利用Docker部署Spring Cloud项目

1.按照创建server的方式创建一个项目,可以参照https://www.cnblogs.com/SakerLiu/p/9743577.html 2.在pom.xml文件中添加插件,代码如下所示 <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifact

【Tomcat】使用Tomcat部署Spring Boot项目生成的jar包

介绍 简单来说,Tomcat是一个免费的,用于Java Web应用以及其它Web应用的一个Web服务器.(简单地概括一下,可能有误) 下载与安装 本文章目标是把Spring Boot Web项目生成的jar包,放到Windows Server 2008 r2中部署 首先要自行安装JDK,本例子中使用jdk-8u172 下载Tomcat,地址https://tomcat.apache.org/ 原文地址:https://www.cnblogs.com/LiveYourLife/p/8884654.