Docker构建SpringBoot项目镜像并启动

Docker构建SpringBoot项目镜像并启动

  • 本文以阿里云“轻量应用服务器”CentOS 7.3系统为例

首先准备已开发完成待部署的SpringBoot项目。

1. pom.xml 文件中 properties 标签下 添加Docker 镜像名称

	<properties>
		<java.version>11</java.version>		<!-- JDK版本 -->
		<docker.image.prefix>springboot</docker.image.prefix>  <!-- docker镜像 -->
	</properties>

2. pom.xml 文件中 plugin 标签下 添加Docker构建插件
请确保你的SpringBoot项目中,引入了Maven插件(后面会使用到mven 命令)。已有请忽略

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

添加Docker构建插件

<plugin>
   			<groupId>com.spotify</groupId>
   			<artifactId>docker-maven-plugin</artifactId>
   			<version>1.0.0</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>

3. 执行 maven install
执行Maven Install 成功

4. 创建DockerFile文件写入Docker指令

FROM openjdk:11					# 指定础镜像进行构建镜像
MAINTAINER Jon.Li			   # 指定维护者信息
VOLUME /tmp					  # 创建一个挂载点,存放数据库和需要持久化的数据
ADD JonLevel-0.0.1-SNAPSHOT.jar app.jar
	# 复制指定的内容到容器中,可以是 Dockerfile 所在目录的一个相对路径 或一个 URL 或一个 tar 文件,复制进容器会自动解压
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]  
   # 配置容器启动后执行的命令,并且不可被 docker run 提供的参数覆盖,指定多个时最后一个生效

注意:DockerFile 文件不需要后缀名。DockerFile 是 Docker 镜像的构建文件,是由一些列命令和参数构成的脚本。

5. 将 DockerFile 与 打包好的 jar 放入同一文件夹
打包好的 jar 包可在项目的 target 文件下找到。
 DockerFile 与  jar 同一文件夹

6. 上传文件到服务器
这里直接用了宝塔的FTP上传
7. 切换到其目录下,执行命令构建镜像
关于Docker的安装网上教程此起彼伏,这里就不在赘述了。

docker build -t jon-springboot  .			
// 注意 .  不要丢掉 否则报错 缺少参数: "docker build" requires exactly 1 argument(s). 

构建镜像成功
Docker 构建项目镜像成功
查看镜像

docker images  

查看镜像
启动镜像

docker run -p 9999:9999 -d --name springboot  jon-springboot

至此项目镜像启动成功。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值