使用docker容器定制镜像(image)并部署简单 web应用

本文介绍了如何使用Dockerfile定制包含Tomcat和Web应用的镜像。首先,讲解了Docker镜像、容器、仓库的概念。接着,详细阐述了在Ubuntu环境下安装JRE、Tomcat以及部署Web应用的步骤。然后,重点讨论了编写Dockerfile来安装JRE,配置Tomcat并开放8080端口。最后,演示了如何启动容器并访问自定义的Web应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概念简述

  • 镜像 一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数。
    Docker镜像是一个只读的模板。比如一个镜像可以包含Ubuntu系统以及安装在Ubuntu上的Apache Web服务器和你自己的应用。镜像是用来创建容器的。Docker提供了一个简单的方式用以创建新的镜像或者更新现存的镜像,甚至你可以下载其他地方提供的镜像。镜像是Docker服务的组件之一。
    由于Docker使用一个统一文件系统,Docker镜像其实就是一堆文件的集合,并不是像VM那样的是一个操作系统。镜像可以简单到只有一个程序文件,比如如果你写了一个简单的hello world程序放到一个空的镜像中,那么整个镜像的大小,就是你编译后的二进制文件的大小。
    总结来说就是:
    镜像(image)是 Docker 的三大组件之一;
    镜像是用来启动容器的基石;
    镜像是只读的,也即是无状态的,一个镜像是永久不会变的;
    一个没有任何父镜像的镜像,称之为基础镜像;
    在Docker容器中所有的变更都发生顶层的镜像可写层;
    Docker 运行容器前需要本地存在对应的镜像,如果镜像不存在本地,Docker 会从镜像仓库下载( 默认是 Docker Hub 公共注册服务器中的仓库)。
  • 容器 镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
  • 仓库 镜像构建完成后,可以很容易的在当前宿主上运行,但是,如果需要在其它服务器上使用这个镜像,我们就需要一个集中的存储、分发镜像的服务 1)docker hub 2)私有仓库
  • Dockerfile 镜像的定制实际上就是定制每一层所添加的配置、文件。如果我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本,用这个脚本来构建、定制镜像,那么之前提及的无法重复的问题、镜像构建透明性的问题、体积的问题就都会解决。其内包含了一条条的指令(Instruction),每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。
  • 数据卷 一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性:
    * 数据卷可以在容器之间共享和重用
    * 对数据卷的修改会立马生效
    * 对数据卷的更新,不会影响镜像
    * 数据卷默认会一直存在,即使容器被删除
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值