详解在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日

相关文章

  • docker容器的四种端口映射演示分析

    首先介绍一下什么是docker容器的四种端口映射。通常在使用Docker构建应用时,我们可以通过四种不同方式实现容器与主机之间的端口映射,以便外部访问Docker容器。这四种方式分别是: 从容器到主机的映射:将容器内的端口映射到主机上的某个端口,从而可以通过主机上的网络接口访问容器。 从主机到容器的映射:将主机上的端口映射到容器内的某个端口,从而可以通过主机…

    Docker 2023年5月16日
    00
  • Docker: Harbor一些小知识

    镜像文件上传到私有仓库harbor后,镜像的物理存储位置在哪里? 这些信息记录在docker-compose.yml里,通过观察发现 镜像存储在了宿主机的 volumes: – /data/registry:/storage:z 这个位置, 所以删除 harbor不会删除数据。因为数据被持久化到了宿主机的制定目录下了 [root@192 harbor]# c…

    Docker 2023年4月11日
    00
  • Docker 容器里镜像的迁移,或者将修改后的新的容器重新做成一个镜像

    ————继上次docker制作nginx容器…   【Docker  容器里镜像的迁移,或者将修改后的新的容器重新做成一个镜像,】 1.进入容器里nginx镜像里。   2.写测试内容到nginx的默认首页文件   3.exit退出去。 docker  ps   查看容器 docker  imaes  查看镜像   4. 将修改后的容器做成一个有tar标…

    Docker 2023年4月13日
    00
  • k8s各版本对应支持的docker版本列表

    Kubernetes主要做Docker的容器化管理,总结一下如何查看k8s对应支持的docker版本的方法。 在GitHub可以查看所有Kubernetets版本信息:https://github.com/kubernetes/kubernetes/releases

    Docker 2023年4月12日
    00
  • Docker Dockerfile 定制镜像的方法

    下面我将为你详细讲解 “Docker Dockerfile 定制镜像的方法” 的完整攻略及包含的两条实例说明: 什么是Dockerfile? Dockerfile是一个文本文件,其包含一组指令,用于在Docker中自动化构建镜像。Dockerfile中定义了一些列指令,这些指令是按照顺序执行的,从而构建出一个完整的镜像。 Dockerfile的编写规则 注释…

    Docker 2023年5月15日
    00
  • ubuntu安装完docker后,启动失败,ExecStart=/usr/bin/dockerd -H fd:// –containerd=/run/containerd/containerd.sock

    解决方案: 编辑文件:vim /lib/systemd/system/docker.service # Ubuntu的路径; CentOS 的路径为: /usr/lib/systemd/system/docker.service修改文件内容:# ExecStart=/usr/bin/dockerd -H fd:// ExecStart=/usr/bin/do…

    Docker 2023年4月13日
    00
  • docker怎么打包commit和Dockerfile

    本篇内容主要讲解“docker怎么打包commit和Dockerfile”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“docker怎么打包commit和Dockerfile”吧! 构建镜像 构建镜像的两种方法:docker commit和docker build。 通过这2种方式构建出来的镜像大小都是一样的;那么…

    2023年4月9日
    00
  • 如何配置 SLO

    前言 无论是对外提供 IaaS PaaS SaaS 的云公司,还是提供信息技术服务的乙方公司,亦或是金融 制造等各行各业的数据中心、运维部门,我们的一个非常重要的合同承诺或考核评估指标就是:SLA(即:Service-Level Agreement 服务等级协议)。 而真正落地实现 SLA 的精确测量,最广为人知的就是 Google 的 SRE 理论。 Go…

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