jar_0">Docker构建启动jar包
jar_1">1、首先是把java服务打包成jar包
mvn clean install '-Dmaven.skip.test=true' package -Pprod
这个命令的意思是,跳过测试,打包prod环境。
2、编写Dockerfile文件
# 拉取jdk8作为基础镜像
FROM registry.supos.ai/library/openjdk:8-jdk-stretch
# 添加jar到镜像并命名
ADD sup-gateway-0.0.1-SNAPSHOT.jar sup-gateway.jar
# 镜像启动后暴露的端口
EXPOSE 18000
# jar运行命令,参数使用逗号隔开
ENTRYPOINT ["java","-jar","sup-gateway.jar"]
FROM registry.supos.ai/library/openjdk:8-jdk-stretch 这个命令是要使用服务器上的jdk镜像,要改成自己服务器的jdk镜像。
先查一下,自己的镜像是什么。命令如下
docker images | grep jdk
这是我的镜像。
其他的命令就是关于jar包的一些,也要修改成自己的。
3、把这两个文件上传到服务器上
怎么上传就略了,但是要都上传到一个文件夹下,像我这样。
4、构建镜像启动服务
cd 到上传的路径下
然后使用docker命令构建镜像:
docker build -t sup-gateway .
命令中有个 . 不要落下
sup-gateway表示镜像名称,最后的.表示Dockerfile在当前目录。
打包完成后查看镜像
docker images
使用docker run命令创建并运行容器:
docker run -d --name sup-gateway -p 18000:18000 -v /home/lims/images/face:/home/lims/images/face sup-gateway
命令解释如下:
如果有容器被占用可以先删除。
docker rm -f sup-sys
启动完成,查看启动日志:
docker logs -f -t sup-gateway
jar日志启动成功,查看容器:
docker ps
访问,验证效果: