Docker Tomcat 多个端口镜像构建

构建多个不同端口的Tomcat镜像:

我们生成的镜像是基于从镜像仓库pull下的tomcat 的,tomcat默认端口是8080,无法使用EXPOSE来设置监听端口。

经过尝试后我们可以使用如下方法(在生成新镜像时覆盖原镜像setting.xml)达到目的:

首先我们需要拿到基础镜像tomcat的setting.xml文件(防止tomcat版本不一):

使用交互模式将宿机目录挂载:

docker run –name tomcat -it -v/data/:/data/ tomcat /bin/bash

其中-v 是挂载目录   即第一个/data/ 是host 的  第二个/data/是容器镜像的

进入交互模式后 复制conf中的server.xml文件到data目录,这样我们就可以再host得到镜像tomcat的server.xml文件


得到这个文件后,可以修改自定义的端口(自行修改)。

改造Dockerfile文件:

# 基于哪个镜像

FROM tomcat

# 指明镜像的维护人员 yyx

MAINTAINER "yyx<xxx@xx.com>"

# 将war文件添加到镜像中并重命名为 Root.war

ADD tomdome_war.war/usr/local/tomcat/webapps/Root.war

# 将自定义的端口文件覆盖原镜像文件

ADD server.xml/usr/local/tomcat/conf

# 通过shell脚本运行tomcat

CMD ["catalina.sh","run"]

 

通过不同名称构建不同端口的镜像:

当server.xml内端口为6622时:docker build -t study/tomdome6622 .

当server.xml内端口为3344时:docker build -t study/tomdome .

PS:请携带-d 后台运行。

log日志共享策略:

docker run --name tomdome -d -p:8899:6622

-v/usr/local/docker/tomcat/6622logs/:/usr/local/tomcat/logs study/tomdome6622

使用-v 挂载tomcat的日志目录即可,但需要注意的是 在初始化的时候 宿主机目录会覆盖宿机目录。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值