1、项目结构
本文以对tuling-admin模块部署为例。
子模块tuling-admin依赖tuling-common和tuling-security。
2、打包方式:
在tuling-single-mall上层文件夹管理模块的pom文件添加
-
在没有main方法的工具模块(maven模块)的pom文件添加<packaging>pom</packaging>
-
在有main方法的业务模块pom文件添加<packaging>jar</packaging>
-
使用springboot项目的根元素(root)的package打包<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>
打包前的小插曲
因为项目中使用了mysql和redis,在打包前需要将xml配置文件的host替换一下
如果打包过程中报错,报错信息如下:
解决方案为:
在报错模块的pom.xml中加入:
<properties>
<!--打包是否测试连接数据库 -->
<skipTests>true</skipTests>
</properties>
如果打包过程中没有报错,则跳过解决方案操作。
言归正传:
打好的jar包默认在每个模块的target目录下
3、编写dockerfile文件
新创建一个docker文件夹,将上述jar包复制进去,并创建一个dockerfile文件,内容如下:
# 基础镜像使用java
FROM java:8
# 作者
MAINTAINER st
# 将jar包添加到容器中并更名为xtt_docker.jar
ADD tuling-admin-0.0.1-SNAPSHOT.jar admin_docker.jar
ENTRYPOINT ["java","-jar","/admin_docker.jar"]
#暴露8099端口作为微服务
EXPOSE 8099
4、创建镜像并运行容器
将上述创建好的docker文件夹(包含jar包和Dockerfile文件)发送到服务器
(1)创建镜像
cd docker
docker build -f Dockerfile -t admin-web .
运行容器前奏:
启动redis和mysql
docker pull mysql:5.5
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1234 mysql:5.5
docker pull redis
docker 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菜鸟教程
发布评论