详解在docker中制作自己的JDK+tomcat镜像

当需要在多台机器上部署一个Java Web应用时,传统的方式是在每一台机器上手动安装JDK和Tomcat,这个过程非常耗时耗力。而使用Docker技术,可以将Java Web应用、JDK和Tomcat打包成镜像,再在不同的机器上运行镜像,减轻了管理和部署的负担。

本篇文章将讲解如何在Docker环境中制作自己的JDK+Tomcat镜像。具体分为以下两个示例:

示例1:制作基于Ubuntu系统的JDK+Tomcat镜像

1. 创建Dockerfile

从官方镜像源中获取Ubuntu镜像,然后安装JDK和Tomcat,最后启动Tomcat。

FROM ubuntu
MAINTAINER YOUR_NAME <YOUR_EMAIL>
RUN apt-get update && \
    apt-get install -y openjdk-8-jdk && \
    apt-get install -y tomcat7
CMD ["catalina.sh", "run"]

2. 构建镜像

在Dockerfile目录中执行以下命令构建镜像:

$ docker build -t my-tomcat .

3. 运行容器

运行my-tomcat镜像,并将Tomcat的8080端口映射到宿主机器的端口。

$ docker run -itd -p 8080:8080 my-tomcat

示例2:制作基于Alpine系统的JDK+Tomcat镜像

1. 创建Dockerfile

从官方镜像源中获取Alpine镜像,然后安装JDK和Tomcat,最后启动Tomcat。

FROM alpine
MAINTAINER YOUR_NAME <YOUR_EMAIL>
RUN apk update && \
    apk add openjdk8 && \
    apk add tomcat-native && \
    apk add curl && \
    apk add --no-cache tzdata && \
    cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
    echo "Asia/Shanghai" > /etc/timezone
ENV CATALINA_HOME /usr/local/tomcat
ENV PATH $CATALINA_HOME/bin:$PATH
WORKDIR $CATALINA_HOME
RUN curl -O https://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.105/bin/apache-tomcat-7.0.105.tar.gz && \
    tar xzvf apache-tomcat-7.0.105.tar.gz && \
    rm apache-tomcat-7.0.105.tar.gz && \
    mv apache-tomcat-7.0.105/* $CATALINA_HOME && \
    rmdir apache-tomcat-7.0.105
EXPOSE 8080
CMD ["catalina.sh", "run"]

2. 构建镜像

在Dockerfile目录中执行以下命令构建镜像:

$ docker build -t my-alpine-tomcat .

3. 运行容器

运行my-alpine-tomcat镜像,并将Tomcat的8080端口映射到宿主机器的端口。

$ docker run -itd -p 8080:8080 my-alpine-tomcat

这样,你就可以制作自己的JDK+Tomcat镜像并在Docker环境中使用了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解在docker中制作自己的JDK+tomcat镜像 - Python技术站

(0)
上一篇 2023年5月15日
下一篇 2023年5月15日

相关文章

  • 在 K8S Volume 中使用 subPath

    使用 subPath 有时,在单个 Pod 中共享卷以供多方使用是很有用的。 volumeMounts.subPath 属性可用于指定所引用的卷内的子路径,而不是其根路径。 下面是一个使用同一共享卷的、内含 LAMP 栈(Linux Apache Mysql PHP)的 Pod 的示例。 HTML 内容被映射到卷的 html 文件夹,数据库将被存储在卷的 m…

    Docker 2023年4月11日
    00
  • centos 下docker 安装方法

    下面我将详细讲解CentOS下Docker安装方法的完整攻略,包含两条示例说明。 安装 Docker 1. 卸载旧版本 Docker 首先,如果您的系统中已经安装了旧版本的 Docker,请先卸载旧版本。 sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common…

    Docker 2023年5月16日
    00
  • Docker容器修改端口映射的实现

    下面是关于Docker容器修改端口映射实现的攻略。 什么是Docker容器端口映射 Docker是一种容器化技术,所有的应用程序和依赖项都可以打包进一个独立的容器中。容器虚拟化了操作系统,这样我们就可以在一个和主机的系统完全独立的环境中运行应用程序。Docker容器端口映射是一种将容器内部端口映射到宿主机外部端口的技术。这样,我们可以通过宿主机的IP地址和端…

    Docker 2023年5月16日
    00
  • Docker容器服务编排利器详解

    Docker容器服务编排利器详解 Docker是目前最流行的容器化技术之一,可以方便地进行应用程序的打包、部署和管理。当一个应用程序包含多个容器时,就需要使用Docker容器服务编排(Docker Compose、Docker Swarm等)来进行管理。本文将详细讲解Docker容器服务编排的使用方法和示例。 Docker Compose Docker Co…

    Docker 2023年5月16日
    00
  • Docker容器日志查看与清理的方式

    美国第三任总统(托马斯.杰弗逊)曾说过:“不要因为别的人相信或否定了什么东西,你也就去相信它或否定它。上帝赠予你一个用来判断真理和谬误的头脑。那你就去运用它吧!”。 在没有陪你奔跑的日子,努力加油哦! 发现     正常使用docker部署测试环境程序,一直部署不上去。最后发现docker容器运行产生日志过多,导致了系统存储爆满,服务无法正常访问。(服务中开…

    Docker 2023年4月13日
    00
  • docker-redmine搭建

    version: ‘2’ services: mysql: image: sameersbn/mysql:5.7.22-1 environment: – DB_USER=redmine – DB_PASS=password – DB_NAME=redmine_production ports: – “3308:3306” volumes: – /redmin…

    Docker 2023年4月13日
    00
  • docker 安装 jenkins touch: cannot touch ‘/var/jenkins_home/copy_reference_file.log’: Permission denied Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?

    拉取镜像 docker pull jenkins/jenkins:lts官方下载 运行容器 docker run -it -v /home/jenkins:/var/jenkins_home -p 8888:8080 -p 50000:50000 –name jenkins8888 jenkins/jenkins:lts 报错 原因 :官方文档 Ensur…

    Docker 2023年4月12日
    00
  • ubuntu14.04+docker的安装及使用

    以下是详细的“ubuntu14.04+docker的安装及使用”的完整攻略,包含两条示例说明: 1. 安装Docker 卸载旧版本的Docker: sudo apt-get remove docker docker-engine docker.io containerd runc 安装Docker: sudo apt-get update sudo apt-…

    Docker 2023年5月16日
    00
合作推广
合作推广
分享本页
返回顶部