在前面的例子中,我们从下载镜像,启动容器,在容器中输入命令来运行程序,这些命令都是手工一条条往里输入的,无法重复利用,而且效率很低。所以就需要一 种文件或脚本,我们把想执行的操作以命令的方式写入其中,然后让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
相关文章:
ppt制作免费网站有哪些,ppt模板免费下载网站?
电脑免费海报制作网站推荐,招聘海报哪个网站多?
,sp开头的版面叫什么?
建站之星如何快速更换网站模板?
如何快速搭建二级域名独立网站?
建站之星如何防范黑客攻击与数据泄露?
无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?
高防服务器租用首荐平台,企业级优惠套餐快速部署
网站制作公司广州有几家,广州尚艺美发学校网站是多少?
网站制作价目表怎么做,珍爱网婚介费用多少?
潍坊网站制作公司有哪些,潍坊哪家招聘网站好?
深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?
php条件判断怎么写_ifelse和switchcase的使用区别【对比】
保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?
如何通过远程VPS快速搭建个人网站?
北京建设网站制作公司,北京古代建筑博物馆预约官网?
如何破解联通资金短缺导致的基站建设难题?
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
如何快速登录WAP自助建站平台?
宝塔建站助手安装配置与建站模板使用全流程解析
正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?
表情包在线制作网站免费,表情包怎么弄?
b2c电商网站制作流程,b2c水平综合的电商平台?
,怎么用自己头像做动态表情包?
如何选择建站程序?包含哪些必备功能与类型?
盘锦网站制作公司,盘锦大洼有多少5G网站?
电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?
免费公司网站制作软件,如何申请免费主页空间做自己的网站?
网站制作公司排行榜,抖音怎样做个人官方网站
如何在IIS中新建站点并解决端口绑定冲突?
建站中国官网:模板定制+SEO优化+建站流程一站式指南
南宁网站建设制作定制,南宁网站建设可以定制吗?
宁波免费建站如何选择可靠模板与平台?
教程网站设计制作软件,怎么创建自己的一个网站?
C#如何使用XPathNavigator高效查询XML
如何在七牛云存储上搭建网站并设置自定义域名?
建站之星如何开启自定义404页面避免用户流失?
可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?
专业网站制作服务公司,有哪些网站可以免费发布招聘信息?
建站之星导航菜单设置与功能模块配置全攻略
小型网站制作HTML,*游戏网站怎么搭建?
建站之星多图banner生成与模板自定义指南
专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?
如何在云指建站中生成FTP站点?
大连 网站制作,大连天途有线官网?
活动邀请函制作网站有哪些,活动邀请函文案?
全景视频制作网站有哪些,全景图怎么做成网页?
建站之星在线版空间:自助建站+智能模板一键生成方案
*请认真填写需求信息,我们会在24小时内与您取得联系。