栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Docker 快速部署 SpringBoot2 项目

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Docker 快速部署 SpringBoot2 项目

一 使用Maven 插件 docker-maven-plugin 构建部署

1.1 配置Docker2375 端口

找到 docker.service 配置文件

编辑:vim /usr/lib/systemd/system/docker.service,在 ExecStart=/usr/bin/dockerd-current 后增加如下配置

-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

重启docker:systemctl restart docker

1.2 配置 Docker 地址,构建 Docker 镜像并上传

配置 Docker 地址

	
		
		http://192.168.56.101:2375
		1.2.2
		microservice
	

配置构建 Docker 镜像信息


			
				
					org.springframework.boot
					spring-boot-maven-plugin
					
					
						false
					
				
				
				
					com.spotify
					docker-maven-plugin
					${docker.maven.plugin.version}
					
						
							build-image
							package
							
								build
							
						
					
					
						${docker.images.prefix}/${project.artifactId}:${project.version}
						${docker.host}
						java:8
						["java", "-jar", "-Dspring.profiles.active=test","/${project.build.finalName}.jar"]
						
						
							
								/
								${project.build.directory}
								${project.build.finalName}.jar
							
						
					
				
				
				
					org.apache.maven.plugins
					maven-surefire-plugin
					2.22.2
					
						true
					
				
			
	

点击 maven 中 package 打包并上传

1.3 查看镜像

docker images

1.4 安装运行容器

docker run -p 8084:8040 --restart=always --name microservice-project -v /etc/localtime:/etc/localtime -v /mydata/app/project/logs:/var/logs -d microservice/cloud-project:0.0.3-SNAPSHOT
二 使用Dockerfile构建部署

2.1 在服务器指定位置创建目录,如:project_docker,在该文件夹下创建 Dockerfile

vim Dockerfile
# 该镜像需要依赖的基础镜像
FROM java:8
# 指定维护者的名字
LABEL maintainer=lc
# 定义匿名数据卷
VOLUME /tmp
# COPY 复制资源到容器中
COPY cloud-project-0.0.3-SNAPSHOT.jar /app/cloud-project-0.0.3-SNAPSHOT.jar
COPY application.properties application.properties
# 指定docker容器启动时运行jar包和配置文件
ENTRYPOINT ["java","-Xms256m", "-Xmx256m","-jar","/app/cloud-project-0.0.3-SNAPSHOT.jar","--spring.config.location=/application.properties","-Dfile.encoding=UTF-8"]

2.2 上传微服务jar,构建镜像

docker build -t cloud-project:0.0.3 .

2.3 安装运行容器

docker run -p 8848:8848 --restart=always --name cloud-project -v /home/project/jar/project_docker/logs:/logs -d cloud-project:0.0.3

 2.4 编写自动化脚本

  vim run.sh

#!/bin/bash
# 定义应用组名
group_name='scistor'
# 定义应用名称
app_name='cloud-project'
# 定义应用版本
app_version='0.0.3-SNAPSHOT'
# 定义应用环境
profile_active='qa'
echo '----copy jar----'
docker stop ${app_name}
echo '----stop container----'
docker rm ${app_name}
echo '----rm container----'
docker rmi ${group_name}/${app_name}:${app_version}
echo '----rm image----'
# 打包编译docker镜像
docker build -t ${group_name}/${app_name}:${app_version} .
echo '----build image----'
docker run -p 8844:8844 --restart=always --name ${app_name} -v /home/project/jar/project_docker/logs:/logs -d ${group_name}/${app_name}:${app_version}
echo '----start container----'
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/992027.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号