创建支持远程部署的tomcat镜像

此教程在CentOS7操作系统,基于Tomcat8制作了一个部署用户名密码为deploy的tomcat镜像,镜像地址:https://cloud.docker.com/repository/docker/as00v1/tomcat-deploy/general,欢迎试用~

一、准备文件

首先,我们在任意位置新建目录,比如我的:

mkdir qblog

然后,从Tomcat官网下载tomcat压缩包,解压后找到以下文件,复制到qblog目录中:

  • conf目录中tomcat-users.xml配置文件
  • conf目录中server.xml配置文件
  • bin目录的catalina.sh文件
  • 任意你想修改并添加到镜像里的文件

二、修改文件

1.添加用户

由于我们要制作一个支持远程部署的tomcat镜像,所以我们修改tomcat-users.xml文件如下:

vim tomcat-users.xml

一般在最下方,找到role和user节点,修改或添加以下内容:

    <role rolename="manager-gui"/>
    <role rolename="manager-script"/>
    <user username="deploy" password="deploy" roles="manager-script"/>
    <user username="gui" password="gui" roles="manager-gui"/>

其中,manager-gui用户组代表可以通过浏览器访问管理页面的用户,manager-script用户组代表可以通过脚本访问的用户组,此时我创建了两个用户,使用deploy用户进行部署,gui用户可以登录管理页面

2.新增配置文件

新建一个名为manager.xml的文件,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<Context privileged="true" antiResourceLocking="false"
         docBase="${catalina.home}/webapps/manager">
             <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>

目的是允许所有IP进行访问,此处未深入研究,有兴趣可以继续。

3.编辑server.xml文件

一般tomcat常用的配置如端口号、编码、线程数等都在server.xml配置文件,有兴趣可以修改内容,此时不做修改,使用默认配置。

4.编辑catalina.sh文件

编辑启动脚本为了解决tomcat官方镜像的时区设置问题,我们要在catalina.sh文件中找到启动设置的变量,并在其后面添加参数-Duser.timezone=GMT+08,如图所示:

5.编辑Dockerfile文件

制作docker镜像脚本文件,这个文件相当于镜像的源码,首先新建文件:

vim Dockerfile

然后将一下内容放到文件中:

FROM tomcat:8
MAINTAINER "jiayong <superjiayong@qq.com>"
ADD server.xml /usr/local/tomcat/conf/
ADD tomcat-users.xml /usr/local/tomcat/conf/
ADD manager.xml /usr/local/tomcat/conf/Catalina/localhost/
ADD catalina.sh /usr/local/tomcat/bin/
#设置时区为东八区时间
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
  && echo 'Asia/Shanghai' >/etc/timezone \
CMD ["catalina.sh", "run"]

思路就是,以官方提供的tomcat8镜像为基础,向容器中添加我们刚才配置好的文件。保存退出。

三、构建镜像

执行命令,构建镜像:

docker build -t tomcat8-deploy:1.0 .

-t代表指定镜像的名称和版本号
构建镜像需要一定时间,构建完成后可以使用docker images命令查看镜像:
docker images

四、推送到docker hub

首先去docker.io注册docker账户,然后回来,将我们刚才的镜像改名,命名规则大致是 你的仓库名/镜像名:版本,比如我的:

docker tag tomcat8-depoly:1.0 as00v1/tomcat-deploy:1.0

然后登陆账户:

docker login

按照提示输入用户名、密码后显示登陆成功即可:
login
最后执行:

docker push as00v1/tomcat-deploy

返回签名就是推送成功:
push

此镜像的地址是:https://cloud.docker.com/repository/docker/as00v1/tomcat-deploy/general,可以下载使用~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值