web服务以Jetty作为伺服器并以docker打镜像部署

web服务以Jetty作为伺服器并以docker打镜像部署

一:build-image.sh打镜像脚本文件

## test-web自定义镜像名
## 1.0自定义镜像版本tag
## 注意最后{空格加.}
docker build -t test-web:1.0 .

二:Dockerfile文件

FROM www.内部公司镜像公共仓库.com:8080/docker-public/jetty包含jdk打好的镜像
ENV LANG C.UTF-8
LABEL project="yourWebName"
RUN mkdir -p /app/docker/deploy
COPY yourWebName.WAR /app/docker/deploy/yourWebName.WAR
COPY yourWebName-jetty.xml /app/docker/deploy/yourWebName-jetty.xml
COPY run.sh /app/docker/deploy/run.sh
RUN chmod 755 /app/docker/deploy/run.sh
EXPOSE 8080
ENTRYPOINT ["sh", "-c", "/app/docker/deploy/run.sh"]

三:run.sh文件


#!/bin/bash

#jetty start web 
JAVA_CMD="java -jar"
#jetty启动参数
JAVA_CMD=$JAVA_CMD" Djetty.http.port=8080"
JAVA_CMD=$JAVA_CMD" Dfile.encoding=UTF-8"
#你的web服务个性化启动参数
JAVA_CMD=$JAVA_CMD" D变量前缀.变量名=变量值"
JAVA_CMD=$JAVA_CMD" D变量前缀.变量名=变量值"
#...等
#jetty起服务相关参数
JAVA_CMD=$JAVA_CMD" /容器内jetty.home目录/start.jar"
JAVA_CMD=$JAVA_CMD" --module=http,deploy,jsp"
JAVA_CMD=$JAVA_CMD" -Dapp.context=/yourWebContext"
JAVA_CMD=$JAVA_CMD" -Dapp.war=/app/docker/deploy/yourWebName.WAR"
JAVA_CMD=$JAVA_CMD" /app/docker/deploy/yourWebName-jetty.xml"
echo $JAVA_CMD
echo "---------------------jetty-------------------------------------"
#把标准错误输出重定向到标准输出
$JAVA_CMD 2>&1

四:jetty.xml文件

这个网上搜索jetty.xml文件

五:start-docker.sh脚本文件

# docker build -t test-web:1.0 .中test-web:1.0与下面启动保持一致
docker run -d --name 自定义容器名 -p 18080:8080 test-web:1.0

你可能感兴趣的:(Linux部署,docker,java,前端,jetty,docker)