docker(一)----使用docker安装运行tomcat

一、使用docker安装运行tomcat

1、 下载tomcat镜像

bash 复制代码
docker pull swr.cn-east-2.myhuaweicloud.com/library/tomcat:8

2、查看tomcat镜像

bash 复制代码
docker images

3、后台运行tomcat镜像

3.1创建宿主机目录结构

bash 复制代码
sudo mkdir -p /opt/tomcat/myTomcat1/{webapps,logs,conf}

3.2生产环境进阶配置(建议)
一个更健壮的生产级命令,可能包含资源限制和重启策略:

bash 复制代码
docker run -d \
  --name myTomcat1 \
  --restart=unless-stopped \
  -p 8080:8080 \
  -m 2g \
  --cpus=1 \
  -v /opt/tomcat/myTomcat1/webapps:/usr/local/tomcat/webapps \
  -v /opt/tomcat/myTomcat1/logs:/usr/local/tomcat/logs \
  -v /opt/tomcat/myTomcat1/conf:/usr/local/tomcat/conf \
  -e TZ=Asia/Shanghai \
  tomcat:8

指定镜像id进行运行

bash 复制代码
[root@k8s-single-node tomcat]# docker run -d   --name myTomcat1   --restart=unless-stopped   -p 8080:8080   -m 2g   --cpus=1   -v /opt/tomcat/myTomcat1/webapps:/usr/local/tomcat/webapps   -v /opt/tomcat/myTomcat1/logs:/usr/local/tomcat/logs   -v /opt/tomcat/myTomcat1/conf:/usr/local/tomcat/conf   -e TZ=Asia/Shanghai   5808f01b11bf
db5c761436f860872b1dfd12b3f213d635741cceee7e08369a81c8b81a3405d8

新增参数解释:

  • --restart=unless-stopped:自动重启策略。当Docker服务重启或容器意外退出时,自动启动容器,确保服务高可用。

  • -m 2g --cpus=1:资源限制。限制容器最多使用 2GB 内存和 1 个CPU核心,防止单个容器耗尽主机资源。

  • -e TZ=Asia/Shanghai:设置容器时区,保证日志和应用时间正确。

二、 容器启动后,您可以通过以下命令进行管理:

查看运行状态:

bash 复制代码
docker ps | grep myTomcat1

没有正常启动我们看一下日志
查看实时日志:

bash 复制代码
docker logs -f myTomcat1

查看一下8080端口是否被占用

bash 复制代码
netstat -tlnp |grep 8080

最后发现tomcat的核心配置文件有问题

bash 复制代码
/opt/tomcat/myTomcat1/conf #在此目录中创建文件
bash 复制代码
touch server.xml
bash 复制代码
#使用
vim

<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />

  <GlobalNamingResources>
    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />
  </GlobalNamingResources>

  <Service name="Catalina">
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

    <Engine name="Catalina" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>

      <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" />
      </Host>
    </Engine>
  </Service>
</Server>

先在

最后重新部署tomcat

bash 复制代码
docker run -d   --name myTomcat1   --restart=unless-stopped   -p 8080:8080   -m 2g   --cpus=1   -v /opt/tomcat/myTomcat1/webapps:/usr/local/tomcat/webapps   -v /opt/tomcat/myTomcat1/logs:/usr/local/tomcat/logs   -v /opt/tomcat/myTomcat1/conf/server.xml:/usr/local/tomcat/conf/server.xml   -e TZ=Asia/Shanghai   5808f01b11bf

curl正常散会!!!

相关推荐
逍遥德1 小时前
运维技术栈Linux+docker+Kubernetes+Jenkins/GitLab CI 知识点详细列表
linux·运维·docker
名字还没想好☜1 小时前
Kubernetes CrashLoopBackOff 排查全流程:从 describe 到日志到 exit code
运维·docker·云原生·容器·kubernetes
冰封之寂2 小时前
Docker 部署与基础命令详解:从安装到容器管理全流程指南
linux·运维·docker·容器
Baron X2 小时前
Gitea Docker 部署教程
docker·gitea
sulikey3 小时前
服务器安装Docker教程。如何在云服务器安装Docker容器?
运维·服务器·ubuntu·docker·安装教程·云服务器
窝子面5 小时前
认识Docker与启动容器与镜像的关系
运维·docker·容器
张忠琳18 小时前
【NVIDIA】 NVIDIA Container Toolkit v1.19.1 — OCI 模块超深度分析之三
云原生·容器·架构·kubernetes·nvidia
Elastic 中国社区官方博客19 小时前
将你的 Grafana Kubernetes 仪表板迁移到 Elastic Observability:相同的 PromQL,30 倍更快的查询
大数据·人工智能·elasticsearch·搜索引擎·容器·kubernetes·grafana
风曦Kisaki1 天前
#企业级docker私有仓库构建:harbor仓库与阿里云镜像仓库
阿里云·docker·容器
期待着20131 天前
docker 安装 ,在centos7.9
运维·docker·容器