本文以对tuling-admin模块部署为例。
子模块tuling-admin依赖tuling-common和tuling-security。
在tuling-single-mall上层文件夹管理模块的pom文件添加
<packaging>pom</packaging>
<packaging>jar</packaging>
<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>
如果打包过程中没有报错,则跳过解决方案操作。
新创建一个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
将上述创建好的docker文件夹(包含jar包和Dockerfile文件)发送到服务器
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
eredis和emysql为redis和mysql用于连接的镜像命名
docker run -p 8099:8099 --name admin-web --link redis-test:eredis --link mysql-test:emysql -d admin-web
docker logs -f -t --tail 100 容器名
查看正在运行的容器