1.配置测试环境的配置信息application-test.yml
spring:
rabbitmq:
host: X.X.X.X
port: 5672
username: admin
password: ******
logging:
file: logs/application_log
level:
ROOT: ERROR
org.springframework.boot: INFO
org.springframework.web: INFO
org.springframework.cloud: INFO
com.changan.cacubd.server.collector: INFO
constant:
ubd:
server:
log-name-pre: 'sso-access-log-'
log-base-path: '/home/newcac/logs/'
log-tmp-folder: '/home/newcac/logs/tmp'
send-login-message-num: 1000
2.在其项目根目录下使用gradle打成jar包
$ gradle build
//打成的jar包默认在./build/libs路径下。
3.将jar包上传至/home/cacubd-server路径下
4.编写Dockerfile文件
FROM xxxx/java:1.8
MAINTAINER xxx
# set timezone to PRC
ENV TZ="Asia/Shanghai" LANG=en_US.UTF-8 PRO_ENV="prod"
ADD ./cacubd-server-collector-0.0.1.jar /home/App.jar
ADD ./start.sh /home/start.sh
CMD ["/bin/sh","/home/start.sh"]
5.编写start.sh文件,用于启动jar程序,并且镜像启动后执行
java -jar /home/App.jar
6.编写docker打镜像命令文件build.sh
docker build -t cacubd-server-collector:0.0.1 .
7.通过Dockerfile和build.sh将jar包打成docker镜像
$ sh build.sh
#打成的镜像信息为 cacubd-server-collector:0.0.1
8.通过docker run命令启动docker容器
docker run --name cacubd-server-collector -p 8480:8080 -v /home/newcac/logs:/home/newcac/logs -v /home/cacubd-serverlogs:/home/cacubd-server/logs -e TZ=Asia/Shanghai -e spring.profiles.active=test --restart=always -d cacubd-server-collector:0.0.1
//-p 8480:8080 外部的访问端口为8480
//-v /home/newcac/logs:/home/newcac/logs 容器内需要访问服务器/home/newcac/logs路径下的文件,故将其已同路径的方式挂出,使容器内外均可访问
//-v /home/cacubd-serverlogs:/home/cacubd-server/logs 将容器的日志文件挂出
//-e spring.profiles.active=test 启动测试环境配置文件
//-e TZ=Asia/Shanghai 设置中国时区
//--restart=always 设置容器自启动
// -d 设置容器后端运行
//cacubd-server-collector:0.0.1 启动镜像的名称+版本信息
9.项目启动后查看启动日志
$ docker logs -f cacubd-server-collector
10.成功启动后访问swagger资源页面,检测restful风格的方法调用
//访问路径如下:,吗
http://X.X.X.X:8480/swagger-ui.html