-
在服务器的/home目录下创建目录存放jar包及Dockerfile文件
-
将jar上传到该目录下
-
执行vim Dockerfile 命令创建Dockerfile文件,内容如下:
FROM java:8
MAINTAINER test
ADD operation-manager-0.0.1-SNAPSHOT.jar operation.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","operation.jar"]
其中:
from java:8 拉取一个jdk为1.8的docker image
maintainer 作者是test
operation-manager-0.0.1-SNAPSHOT.ja 就是你上传的jar包,替换为jar包的名称
operation.jar 是你将该jar包重新命名为什么名称,在容器中运行
expose 该容器暴露的端口是多少,就是jar在容器中以多少端口运行
entrypoint 容器启动之后执行的命令,java -jar operation.jar 即启动jar
- 创建好Dockerfile文件之后,执行命令 docker build -t operation . 构建镜像:
注意最后的 . 表示 Dockerfile 文件在当前目录下
operation 指定构建之后镜像名称 - 镜像构建成功之后,就可以运行容器了
一般是用docker run -d --name operation -p 8080:8080 operation
命令启动,
但是为了后续的项目更新方便,这里推荐使用下面这条命令:
docker run -d --name operation -p 8083:8080 -v /home/fxy/docker/service1/operation-manager-0.0.1-SNAPSHOT.jar:/operation.jar operation:latest
其中:
-p 映射端口8761 本机的端口 映射的容器的端口
-v 挂载目录/home/fxy/docker/service1/operation-manager-0.0.1-SNAPSHOT.jar:本地目录 /operation.jar容器目录,在创建前容器是没有software目录的,docker 容器会自己创建
–privileged=true 关闭安全权限,否则你容器操作文件夹没有权限
operation:latest 使用的镜像名称及版本
-
然后docker ps 看看你的容器有没有在运行即可,运行成功会出现以下内容:
-
docker logs --tail 300 -f operation查看启动日志(最后300行)
-
项目有更新时,只需将/home/fxy/docker/service1/下的jar替换掉,然后执行
docker stop operation
docker start operation
即可更新完毕,可以通过docker ps查看是否启动成功,或者调用接口验证