docker安装tomcat,挂载目录,发布项目

本文介绍了如何使用Docker拉取Tomcat镜像并创建容器进行部署。首先拉取Tomcat镜像,然后在宿主机创建挂载目录。接着创建一个备份容器,复制其内容到宿主机目录。之后创建主容器,挂载宿主机目录到容器的webapps、logs和conf目录。文章还提到要确保webapps目录有内容,并修改server.xml配置文件以部署项目。最后,重启容器并访问应用。
摘要由CSDN通过智能技术生成

1 拉取tomcat镜像

docker pull tomcat:7

2 创建挂载在宿主机的目录,conf配置文件,logs日志文件,webapps存放web目录

cd /opt/
mkdir tomcat
cd tomcat/
mkdir -p {conf,webapps,logs}

3 (第一个容器)先创建一个tomcat-backup容器(记得两个容器不一样),这个tomca-backup目的是为了复制它自己conf,logs,webapps下的内容到宿主机的挂载目录,然后把这个目录挂载给tomcat-test,不然下面挂载tomcat-test的时候无法启动

4 创建tomcat-backup

docker run -d  --name tomcat-backup -p 8080:8080 tomcat:7

5 复制目录到宿主机

docker cp tomcat-test:/usr/local/tomcat/conf /opt/tomcat/
docker cp tomcat-test:/usr/local/tomcat/logs /opt/tomcat/
docker cp tomcat-test:/usr/local/tomcat/webapps /opt/tomcat/

6 webapps如果是空的在宿主机tomcat下执行


mv webapps.dist/* webapps  #把webapps.dist下面的目录都移到webapps下

7 (第二个容器)创建tomcat容器,并挂载到宿主机

docker run -d --name tomcat -p 8081:8080 --privileged=true --restart always -v /opt/tomcat/webapps/:/usr/local/tomcat/webapps -v /opt/tomcat/logs/:/usr/local/tomcat/logs  -v /opt/tomcat/conf/:/usr/local/tomcat/conf tomcat:7

参数说明:

-v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。

-p  宿主机端口:容器端口

--privileged  让容器开启root特权

--restart=策略:以下四种

1. no: 默认策略,在容器退出时不重启容器

2. on-failure: 在容器非正常退出时(退出状态非0),才会重启容器 ,最多重启3次

3. always: 在容器退出时总是重启容器

4. unless-stopped: 在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器

8 将本地的项目文件夹通过工具复制到宿主机的webapps目录下

9 修改conf目录下的server.xml

      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
 
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
		
		<!-- 部署web项目 -->
		<Context path="/webdemo" docBase="webdemo"></Context>
 
      </Host>

10 重启tomcat容器

docker restart tomcat

11 访问 http://localhost:8081

要在Docker安装Tomcat 9,可以按照以下步骤进行操作。首先,下载Tomcat 9.0镜像,可以使用命令docker pull tomcat:9.0来下载。然后,使用命令docker images来查看镜像是否已成功下载。接下来,可以编译DockerFile文件,使用命令docker build -f /usr/local/temp/DockerFile -t chendd-tomcat:tomcat9.0.16来生成chendd-tomcat:9.0.16的镜像。停止容器可以使用命令docker stop tomcat9,删除容器可以使用命令docker rm tomcat9。再次创建并启动容器时,可以使用以下命令来挂载目录并设置端口:docker run -p 8081:8080 --name tomcat9 -v /home/docker-work/tomcat/conf/:/usr/local/tomcat/conf -v /home/docker-work/tomcat/logs/:/usr/local/tomcat/logs -v /home/docker-work/tomcat/webapps/:/usr/local/tomcat/webapps -v /home/docker-work/tomcat/work/:/usr/local/tomcat/work -v /home/docker-work/tomcat/temp/:/usr/local/tomcat/temp -d tomcat:9.0。这样就完成了Docker安装Tomcat 9的过程。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Docker安装Tomcat并设置挂载卷(超详细)](https://blog.csdn.net/y393016244/article/details/129806762)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Docker学习(四)使用DockerFile的方式安装Tomcat9](https://blog.csdn.net/haiyangyiba/article/details/88805614)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值