1、项目结构
本文以对tuling-admin模块部署为例。
子模块tuling-admin依赖tuling-common和tuling-security。
2、打包方式:
在tuling-single-mall上层文件夹管理模块的pom文件添加
<packaging>pom</packaging>
在没有main方法的工具模块(maven模块)的pom文件添加
<packaging>jar</packaging>
在有main方法的业务模块pom文件添加
<packaging>jar</packaging><build><resources><resource><directory>src/main/java</directory><includes><include>**/*.yml</include><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>false</filtering></resource><resource><directory>src/main/resources</directory><includes><include>**/*.yml</include><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>false</filtering></resource></resources><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>
使用springboot项目的根元素(root)的package打包
打包前的小插曲
因为项目中使用了mysql和redis,在打包前需要将xml配置文件的host替换一下
如果打包过程中报错,报错信息如下:
解决方案为:
在报错模块的pom.xml中加入:
<properties><!--打包是否测试连接数据库 --><skipTests>true</skipTests></properties>
如果打包过程中没有报错,则跳过解决方案操作。
言归正传:
打好的jar包默认在每个模块的target目录下
3、编写dockerfile文件
新创建一个docker文件夹,将上述jar包复制进去,并创建一个dockerfile文件,内容如下:
# 基础镜像使用javaFROM java:8# 作者MAINTAINER st# 将jar包添加到容器中并更名为xtt_docker.jarADD tuling-admin-0.0.1-SNAPSHOT.jar admin_docker.jarENTRYPOINT ["java","-jar","/admin_docker.jar"]#暴露8099端口作为微服务EXPOSE 8099
4、创建镜像并运行容器
将上述创建好的docker文件夹(包含jar包和Dockerfile文件)发送到服务器
(1)创建镜像
cd dockerdocker build -f Dockerfile -t admin-web .
运行容器前奏:
启动redis和mysql
docker pull mysql:5.5docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1234 mysql:5.5
docker pull redisdocker run -itd --name redis-test -p 6379:6379 redis
(2)运行容器:
eredis和emysql为redis和mysql用于连接的镜像命名
docker run -p 8099:8099 --name admin-web --link redis-test:eredis --link mysql-test:emysql -d admin-web
(3)查看日志方法
docker logs -f -t --tail 100 容器名
查看正在运行的容器
如果觉得《docker部署springboot父子级项目+mysql+redis菜鸟教程》对你有帮助,请点赞、收藏,并留下你的观点哦!