导读
项目需要部署到docker容器中,并且在docker容器后台运行,以下是部署步骤。
步骤
1、打包
通过命令将项目打包,并且启动该jar包,测试能够正确获取数据,保证jar包没问题(特别注意链接数据库的IP)。
# 打jar命令
maven package
# 启动测试jar包
java -jar XXX.jar
2、创建Dockerfile文件
关于DockerFile文件的格式,请自行百度,不过个人觉得这个博主写的不错,可以参考:点击查看。
# 指定基础镜像,必须为第一个命令
FROM java:8
# 维护者信息
MAINTAINER heioky.com
# 构建镜像时执行的命令
#RUN apk add --no-cache openjdk8
# 用于指定持久化目录
VOLUME /tmp
# 将本地文件添加到容器中,tar类型文件会自动解压(网络压缩资源不会被解压),可以访问网络资源,类似wget,注意到add写的是相对路径
ADD junk-classes-1.0.2-SNAPSHOT.jar junk-classes-1.0.2-SNAPSHOT.jar
# 指定于外界交互的端口
EXPOSE 8080
# 配置容器,使其可执行化。配合CMD可省去"application",只使用参数。
ENTRYPOINT ["java","-jar","/junk-classes-1.0.2-SNAPSHOT.jar"]
3、上传到云服务器上
不管通过使用什么方式,将DockerFile文件和打的jar包上传到云服务上,我这里使用FileZilla客户端上传到data文件的一个名字为docker文件的目录下。
4、构建新的镜像
使用以下命令构建新的镜像。
docker build -t 镜像名字 .
查询镜像,这里面定义的docker镜像容器启动了。
5、启动容器镜像
加上-d参数是希望后台运行,如果不需要,可以删除。
#格式:docker run -d --name=镜像名字 -p 8080:8080 -t 镜像名字:latest
docker run -d --name=docker -p 8080:8080 -t docker:latest
6、测试
在浏览器输入ip:8090/**查看对应的接口名称,看是否能访问成功。
OK,完美搞定。
参考
这里有另一种方法,通过使用IDEA的docker插件来部署的,我这里没有测试列出步骤,网上有一堆,这里可以点击查看其中的一篇文章。