Docker 容器中安装 Tomcat 及 JDK,并测试部署 war 包

前言

Docker 是一种开源的容器化平台,可以将应用程序及其依赖项打包成容器,以便在任何地方运行。Tomcat 是一个常用的 Java Web 应用服务器,而 JDK 是 Java 开发环境。本文将介绍如何在 Docker 中安装 Tomcat 及 JDK,以及如何部署 war 包。

安装 Docker

如果您还没有安装 Docker,请先在官网下载并安装 Docker。

下载 Tomcat 和 JDK 镜像

我们可以在 Docker Hub 上找到 Tomcat 和 JDK 的镜像,并下载到本地。

docker pull tomcat:latest
docker pull openjdk:latest

创建 Dockerfile

我们可以通过创建 Dockerfile 来自定义镜像。以下是一个示例 Dockerfile,其中包含了安装 Tomcat 和 JDK 的步骤。

FROM openjdk:latest

RUN apt-get update \
    && apt-get install -y wget \
    && wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.46/bin/apache-tomcat-9.0.46.tar.gz \
    && tar -zxvf apache-tomcat-9.0.46.tar.gz \
    && mv apache-tomcat-9.0.46 /usr/local/tomcat \
    && rm apache-tomcat-9.0.46.tar.gz \
    && chmod +x /usr/local/tomcat/bin/*.sh

ENV CATALINA_HOME /usr/local/tomcat
ENV PATH $CATALINA_HOME/bin:$PATH

EXPOSE 8080

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

在 Dockerfile 中,我们首先选择了基础镜像 openjdk:latest,并在其中安装 wget 工具。接着,我们使用 wget 下载 Tomcat 9.0.46 版本,并将其解压缩到 /usr/local/tomcat 目录下。然后,我们删除下载的压缩包并设置 Tomcat 的执行权限。最后,我们设置了环境变量 CATALINA_HOME 和 PATH,并暴露容器的 8080 端口。

构建镜像

在 Dockerfile 所在的目录下,运行以下命令构建镜像。

docker build -t tomcat-jdk .

其中,-t 参数指定了镜像名称为 tomcat-jdk。

运行容器

运行以下命令启动容器。

docker run -p 8080:8080 -d tomcat-jdk

其中,-p 参数指定了容器的 8080 端口映射到主机的 8080 端口,并使用 -d 参数将容器运行在后台。

部署 war 包

将 war 包复制到容器中的 /usr/local/tomcat/webapps 目录下,Tomcat 将自动部署应用程序。

docker cp example.war container_id:/usr/local/tomcat/webapps/

其中,example.war 是您要部署的应用程序的名称,container_id 是容器的 ID。

测试应用程序

在浏览器中访问 http://localhost:8080/example 即可访问您部署的应用程序。

总结

本文介绍了如何在 Docker 中安装 Tomcat 和 JDK,并部署 war 包。通过使用 Docker,我们可以更方便地部署和管理应用程序,提高开发效率。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65c0a5ffadd4f0e0ffaa7178