Dockerfile制作tomcat镜像

作者:yangjl

前言

  Docker镜像的基础知识可参考,这章主要是对编写Dockerfile相关内容的补充。可能之前很多小伙伴们使用iserve的镜像都是从docker中拉取的supermap/iserver的镜像运行iserver。肯定很多小伙伴能都想制作自己独有的iserver镜像,今天我以制作tomcat镜像为例带着大家学习下Dockerfile编写的基本规则。

一、Dockerfile基本定义及常用命令介绍

Dockerfile是一个包含用于组合镜像的命令的文本文档。可以使用在命令行中调用任何命令。Docker通过读取Dockerfile中的指令自动生成映像。docker build命令用于从Dockerfile构建镜像。可以在docker build命令中使用-f标志指向文件系统中任何位置的Dockerfile。或者在当前文件目录中编写名称Dockerfile文件,不需要指定-f也能构建镜像。以下图片是构建Dockerfile常用指令,可做参考
在这里插入图片描述
话不多说,进入正题。

二、构建镜像

2.1 软件准备

1.Docker安装这里就不赘述。
2.apache-tomcat-9.0.38.tar.gz
3.jdk-8u11-linux-x64.tar.gz
4.打包好的dist文件(这里我以一个小demo打包为测试示例)
在这里插入图片描述

2.2 构建Dockerfile

  首先将需要的软件拷贝到服务器中。
在这里插入图片描述
并创建Dockerfile文件进行编写以下为所有内容
在这里插入图片描述
看的没错,寥寥几句就这样就能构建出一个简单的属于您自己的镜像,可能大家还是不太明白啥意思我带着大家理解一下

FROM centos #你的镜像是从何而来也可也理解为构建该镜像的基础镜像
MAINTAINER #构建者的信息一般是名字+邮箱
ADD apache-tomcat-9.0.38.tar.gz /etc/ #将tomcat压缩包拷贝到镜像中的etc目录并解压
ADD jdk-8u11-linux-x64.tar.gz /etc/   #将jdk拷贝到etc目录并解压
ENV workpath /etc  #设置环境变量workpath,的路径是/etc。类似我们在系统变量中对/etc/profile中编写环境变量 export workpath=/etc。下面的ENV同样的道理,配置java环境变量都是在为我们的镜像设置环境变量让其可以正常运行tomcat。
WORKDIR #工作目录,进入容器的初始路径
EXPOSE 8080 #暴露tomcat的默认端口以方便外部访问
CMD #命令行,启动tomcat,并且输出日志,输出日志的原因是如果只执行启动tomcat,tomcat启动以后容器会里面停止。 因为docker容器运行必须有一个前台进程, 如果没有前台进程执行,容器认为空闲,就会自行退出

2.3 构建镜像

编写完成Dockerfile之后,构建镜像命令
Docker build -f dockefile的路径 -t ‘镜像名称’:版本号(可不写) .
在这里插入图片描述
因为该目录下我建的是名称为Dockerfile的文件,因此不需要指定dockerfile的目录也可执行,注意 ‘.’在后面是必须加上的,构建完成以后会输出
在这里插入图片描述
我们也可以通过docker images命令来查看创建的镜像名称.

2.4 运行容器、部署项目

1.首先需要在外部建一个ROOT目录用于挂载内部tomcat的ROOT目录。目的是为了持久化的保存项目数据,以及方便在外部宿主机上操作就能够部署咋们打包好的简单的web项目。
2.然后将dist的文件拷贝到ROOT目录下。
在这里插入图片描述
3.最后用构建好的mypro镜像运行容器执行 docker run 命令
4.然后将dist的文件拷贝到ROOT目录下。
在这里插入图片描述

-v 挂载文件    外部目录:内部目录 
-p 暴露端口   外部端口:内部端口 

等待控制台输出startup in 。。。
在这里插入图片描述访问宿主机ip:8080端口访问部署的项目
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值