Docker-利用dockerfile来搭建tomcat服务的方法

发布时间 - 2026-01-10 22:28:35    点击率:

在前面的例子中,我们从下载镜像,启动容器,在容器中输入命令来运行程序,这些命令都是手工一条条往里输入的,无法重复利用,而且效率很低。所以就需要一 种文件或脚本,我们把想执行的操作以命令的方式写入其中,然后让docker读取并分析、执行,那么重复构建、更新将变得很方便,所以Dockerfile就此诞生了。

常用参数:

FROM命令。用法,FROM <image>:<tag>。FROM命令告诉docker我们构建的镜像是以哪个(发行版)镜像为基础的

RUN命令。用法RUN <command>。RUN 后面接要执行的命令,比如,我们想在镜像中安装vim,只需在Dockfile中写入RUN yum install -y vim

ENV命令。用法,ENV <key> <value>。ENV命令主要用于设置容器运行时的环境变量

ADD命令。用法,ADD <src> <dest>。ADD主要用于将宿主机中的文件添加到镜像中

首先建一个目录构建我们的环境。

mkdir test/web

上传tomcat和jdk到该目录下。

[root@wls12c web]$ ls
apache-tomcat-7.0.70.tar.gz jdk-7u80-linux-x64.tar.gz 

编辑Dockerfile

vim Dockerfile

#pull down centos image
FROM centos
MAINTAINER test@test.com
#copy jdk and tomcat into image
ADD ./apache-tomcat-7.0.70.tar.gz /root
ADD ./jdk-7u80-linux-x64.tar.gz /root
#set environment variable
ENV JAVA_HOME /root/jdk1.7.0_80
ENV PATH $JAVA_HOME/bin:$PATH
#define entry point which will be run first when the container starts up
ENTRYPOINT /root/apache-tomcat-7.0.70/bin/startup.sh && tail -F /root/apache-tomcat-7.0.70/logs/catalina.out

构建镜像

[root@wls12c web]$ docker build -t keven/centos:tomcat-centos --rm=true .
Sending build context to Docker daemon 470.4 MB
Sending build context to Docker daemon 
Step 0 : FROM centos
 ---> d83a55af4e75
Step 1 : MAINTAINER test@test.com
 ---> Running in 955747d64da5
 ---> 1619dc8f6d58
................
70/logs/catalina.out
 ---> Running in fe48acf12d70
 ---> 52076383f11b
Removing intermediate container fe48acf12d70
Successfully built 52076383f11b

-t选择指定生成镜像的用户名,仓库名和tag

--rm=true指定在生成镜像过程中删除中间产生的临时容器。

 查看新产生的镜像

[root@wls12c web]$ docker images keven/centos
REPOSITORY     TAG         IMAGE ID      CREATED       VIRTUAL SIZE
keven/centos    tomcat-centos    52076383f11b    19 minutes ago   516.6 MB

运行镜像

[root@wls12c web]$ docker run -d -p 8090:8080 5207
8260fa22aa32126f613a6b64f121e78545ceae01da58c61396968bfafeda3706

-p指定主机80端口与容器8080端口进行绑定

-d 指定容器运行后与当前tty分离,后台运行

5207是镜像的ID前4位。

 通过  http://宿主机IP:8090,即可看见我们熟悉的tomcat首页了。

另外还有一种自动映射主机端口的启动方法

[root@wls12c web]$ docker run -d -p 8080 --name myweb 520
de39869a8c560e5e0cf48fc6022c05ed9f9a145bdafb897767fa468dc24ebfff
[root@wls12c web]$ docker port de3
8080/tcp -> 0.0.0.0:32768
[root@wls12c web]$ 

这样就要通过http://宿主机IP:32768访问了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# dockerfile  # tomcat  # docker搭建tomcat  # dockerfile构建tomcat  # 如何基于Dockerfile构建tomcat镜像  # 基于alpine用dockerfile创建的tomcat镜像的实现  # Dockerfile制作官方Tomcat镜像及镜像使用详解  # Docker学习之基于Dockerfile搭建JAVA Tomcat运行环境的方法  # docker在已有的tomcat镜像上打新的镜像的Dockerfile编写说明介绍  # Docker容器上用DockerFile部署多个tomcat服务的步骤  # 镜像  # 主要用于  # 都是  # 只需  # 在前面  # 很低  # 首页  # 很方便  # 绑定  # 往里  # 大家多多  # 到该  # 过程中  # 机中  # 上传  # 发行版  # 目录下  # 诞生了  # wls12c  # ls 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: node.js报错:Cannot find module &#39;ejs&#39;的解决办法  ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  黑客如何通过漏洞一步步攻陷网站服务器?  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  佛山企业网站制作公司有哪些,沟通100网上服务官网?  清除minerd进程的简单方法  如何确保西部建站助手FTP传输的安全性?  为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】  公司网站制作价格怎么算,公司办个官网需要多少钱?  Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  如何挑选高效建站主机与优质域名?  在Oracle关闭情况下如何修改spfile的参数  Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置  Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  制作旅游网站html,怎样注册旅游网站?  Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】  如何快速使用云服务器搭建个人网站?  Laravel如何集成Inertia.js与Vue/React?(安装配置)  java ZXing生成二维码及条码实例分享  Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧  如何在云指建站中生成FTP站点?  Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】  Laravel Docker环境搭建教程_Laravel Sail使用指南  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  如何基于云服务器快速搭建网站及云盘系统?  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】  利用vue写todolist单页应用  MySQL查询结果复制到新表的方法(更新、插入)  UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】  详解阿里云nginx服务器多站点的配置  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  公司网站制作需要多少钱,找人做公司网站需要多少钱?  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  网站制作软件免费下载安装,有哪些免费下载的软件网站?  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  专业商城网站制作公司有哪些,pi商城官网是哪个?  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】  html如何与html链接_实现多个HTML页面互相链接【互相】  Python制作简易注册登录系统  Python正则表达式进阶教程_复杂匹配与分组替换解析  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  进行网站优化必须要坚持的四大原则  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?