Dockerfile,以tomcat8.0版作为基础镜像
FROM tomcat:8.0
#定义工作目录
ENV WORK_PATH /usr/local/tomcat/conf
ENV WEB_PATH /usr/local/tomcat/webapps
#定义要替换的server.xml文件名
ENV SERVER_CONF_FILE_NAME server.xml
#删除原文件server.xml
RUN rm $WORK_PATH/$SERVER_CONF_FILE_NAME
#复制文件server.xml
COPY ./$SERVER_CONF_FILE_NAME $WORK_PATH/
#复制项目esriproxy到webapps目录
COPY ./esriproxy $WEB_PATH/esriproxy
#使用的端口
EXPOSE 8090
#启动
CMD ["/usr/local/tomcat/bin/catalina.sh","run"]
目录层级
Docker打包命令,挂载项目配置文件到/home/esriproxy/config
#编辑好Dockerfile文件
vim /home/soft/esriproxyDocker/Dockerfile
#进入 /home/soft/esriproxyDocker/ docker打包
docker build -t esriproxy:1.0 -f Dockerfile ./
#初始化运行镜像,挂载tomcat到/home/esriproxy/config 如果这个目录为空,则需要人为去添加配置文件,修改才同步生效
docker run -d -p 8090:8090 --name=esriproxy -v /home/esriproxy/config:/usr/local/tomcat/webapps/esriproxy/WEB-INF/classes/ esriproxy:1.0
#复制配置文件到挂载目录生效
cp /home/soft/esriproxyDocker/esriproxy/WEB-INF/classes/proxy.config /home/esriproxy/config/proxy.config
#测试请求代理
curl http://localhost:8090/esriproxy/proxy.jsp?ping
#进入容器
docker exec -it esriproxy bash
#进入tomcat的Java代理应用,proxy.config就是代理配置文件,vi来编辑文件
cd /usr/local/tomcat/webapps/esriproxy/WEB-INF/classes/
#修改端口,server.xml中的<Connector port="8090" protocol="HTTP/1.1"
cd /usr/local/tomcat/conf/
#保存镜像,下载
# docker save -o 另存镜像目录及名称(/xx/xx.tar) 镜像ID
docker save -o ./esriproxy.tar esriproxy:1.0