Docker tomcat安装

本文详细介绍如何使用Docker快速部署Tomcat环境,包括创建目录、上传文件、编写Dockerfile,并通过构建镜像和运行容器实现多实例负载均衡。
1.创建目录 /root/mdocker/dockerfiles/test
2.上传jdk-8u45-linux-x64.tar.gz tomcat.8.tar.gz到1中
3.创建Dockerfile文件

4.
docker images:
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
hub.c.163.com/library/ubuntu latest b47daa16e381 13 days ago 117.3 MB

contents:
FROM hub.c.163.com/library/ubuntu
MAINTAINER test@test.com
#copy jdk and tomcat into image
ADD ./jdk-8u45-linux-x64.tar.gz /root
ADD ./tomcat.8.tar.gz /root
#set environment variable
ENV JAVA_HOME /root/jdk1.8.0_45
ENV PATH $JAVA_HOME/bin:$PATH
#define entry point which will be run first when the container starts up
ENTRYPOINT /root/tomcat/bin/startup.sh && tail -F /root/tomcat/logs/catalina.out

5.查看镜像 docker images
docker images:
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
samson/ubuntu tomcat-test 7c824a2bc3d6 4 days ago 471.6 MB
hub.c.163.com/library/ubuntu latest b47daa16e381 13 days ago 117.3 MB

6.构建 docker build -t samson/ubuntu:tomcat-test --rm=true .

7.docker run -i -t -d -p 8090:8080 7c824a2bc3d6 /bin/bash

来张图:
[img]http://dl2.iteye.com/upload/attachment/0124/6610/c78b0d05-1f0e-3d43-8c77-920397ed9a4e.png[/img]

[color=red]
启动多个docker-tomcat容器 绑定不同的端口8090:8080 8091:8080 ...
可安装docker-nginx容器 或主机上安装nginx 达到负载均衡的效果
[/color]
<think>嗯,用户想在基于TomcatDocker镜像里使用yum包管理器。首先,我需要确定Tomcat官方镜像的基础系统是什么。通常,官方的Tomcat镜像是基于Debian的,比如Tomcat:8或Tomcat:9,而可能有些版本是基于Alpine的。如果基础镜像是Debian,那么它用的是apt-get而不是yum,所以用户可能混淆了系统类型。但用户明确提到yum,那可能他们用的Tomcat镜像是基于CentOS或者RHEL的?比如用户自己构建的镜像,或者某些第三方提供的基于CentOS的Tomcat镜像。 接下来,我需要检查用户提供的引用内容。引用[2]提到用户可能使用docker pull tomcat:8,但官方Tomcat镜像默认可能不是基于CentOS的。所以用户可能需要确认他们当前的Tomcat镜像的基础系统。如果基础系统确实是基于CentOS,那么安装yum是可行的,但通常Tomcat官方镜像可能基于Debian或Alpine,这种情况下需要先切换到基于CentOS的镜像。 根据引用[4],用户可能在构建自己的Dockerfile,所以可能需要修改基础镜像。例如,使用CentOS作为基础镜像,然后安装Tomcat。或者,如果用户想在一个现有的Tomcat镜像中添加yum,可能需要先确认该镜像是否有yum可用。例如,如果Tomcat镜像是基于Alpine,那么yum不可用,需要改用apk;如果是基于Debian,则用apt-get。 所以,可能的解决方案是:建议用户更换基础镜像为CentOS,然后在Dockerfile中安装Tomcat和所需的yum包。或者,如果当前镜像已经基于CentOS,但缺少yum,可能需要安装yum,不过这种情况较少,因为CentOS默认带有yum。 用户的问题可能源于误解,以为Tomcat镜像自带yum,但实际上官方镜像可能不是基于RPM的系统。因此,正确的步骤应该是: 1. 确认当前使用的Tomcat镜像的基础系统。可以通过运行容器并执行cat /etc/os-release来查看。 2. 如果基础系统是CentOS或RHEL,那么直接使用yum install命令,但可能需要更新仓库或者安装EPEL等。 3. 如果基础系统是Debian或Ubuntu,则需要使用apt-get,或者用户需要更换基础镜像为CentOS,并自行安装Tomcat。 例如,用户可能需要基于CentOS的镜像,例如: FROM centos:7 然后安装Java和Tomcat,并在此过程中使用yum安装所需软件包。 此外,用户可能在容器内手动安装yum,但这通常不推荐,因为Docker镜像应该尽可能保持轻量,并且包管理器应该在构建镜像时处理,而不是在容器运行时。 所以,总结步骤应该是: - 检查基础镜像类型。 - 如果使用基于RPM的系统(如CentOS),直接使用yum。 - 否则,建议更换基础镜像,或者在Dockerfile中添加适当的包管理命令。</think>### 在Tomcat容器中配置yum包管理器的步骤 #### 1. **确认基础镜像类型** - 官方Tomcat镜像默认通常基于**Debian**或**Alpine**系统,默认不支持`yum`。需先确认当前镜像的基础系统: ```bash docker run -it tomcat:8 cat /etc/os-release ``` 若输出包含`CentOS`或`RHEL`,则支持`yum`;若显示`Debian`或`Alpine`,需更换基础镜像[^2][^4]。 #### 2. **基于CentOS构建自定义Tomcat镜像** - 若需使用`yum`,建议基于CentOS镜像重新构建包含Tomcat的环境。示例`Dockerfile`: ```dockerfile FROM centos:7 # 安装依赖 RUN yum install -y java-11-openjdk-devel wget # 下载并解压Tomcat RUN wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.85/bin/apache-tomcat-9.0.85.tar.gz && \ tar -xzf apache-tomcat-9.0.85.tar.gz -C /usr/local/ && \ mv /usr/local/apache-tomcat-9.0.85 /usr/local/tomcat # 设置环境变量 ENV CATALINA_HOME /usr/local/tomcat EXPOSE 8080 CMD ["/usr/local/tomcat/bin/catalina.sh", "run"] ``` - 构建镜像并运行: ```bash docker build -t my-tomcat . docker run -d --name tomcat-app my-tomcat ``` #### 3. **在现有容器中临时使用yum(仅限CentOS基础)** - 若容器基于CentOS但未预装`yum`(极罕见),可尝试手动安装: ```bash docker exec -it <容器ID> /bin/bash # 容器内操作(需网络连接) yum update -y && yum install -y <所需软件> ``` - **注意**:官方镜像通常已集成`yum`,此步骤仅用于自定义镜像调试。 #### 4. **替代方案:使用Alpine或Debian的包管理器** - 若需在官方Tomcat镜像(如`tomcat:9-jdk11`,基于Debian)中安装软件: ```bash # 使用apt-get(Debian系) docker exec -it <容器ID> apt-get update && apt-get install -y <软件名> # 或Alpine系镜像使用apk docker exec -it <容器ID> apk add <软件名> ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值