1、dockerfile书写
FROM java:8
MAINTAINER lizz
ADD workflow-0.0.1-SNAPSHOT.jar wk.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","wk.jar"]
2、执行build
docker build -t workflow/wk .
.是当前目录
3、运行容器
docker run -d --restart=always --name wk1 -p 8080:8080 workflow/wk
4、方式二:
运行一个jdk的容器,然后挂载其中的目录到宿主机,然后运行之后,就可以将需要运行的jar放在宿主机的挂载目录下,然后每次重新运行docker容器即可。不用每次发布需要重新构建docker容器,只需要替换宿主机中的jar包即可
4.1、 在服务器中拉取jdk1.8的镜像
docker pull jdk8
2. 创建目录
cd /server/
mkdir deploy/jar
3. 构建容器
4.2、运行容器
docker run -d \
--restart=always \
-v /server/deploy/jar:/jar -v /server/logs/demo:/mnt/logs/demo \
-p 7778:7778 \
--name demo \
jdk8 /usr/bin/java -jar \
-Duser.timezone=GMT+08 \
/jar/demo-1.0.jar
4.3、参数解释
# -Duser.timezone 是设置时区
# jdk8 /usr/bin/java -jar 是执行 java jar的命令
# /jar/demo-1.0.jar 是需要运行的jar包的位置在容器中的什么位置,/jar 下面