在百度上试很多文章都不行,只有这篇可以。

宿主机为:centos64位

//安装docker

1:yum install docker

//启动docker

2:systemctl start  docker.service

3:新建web目录

mkdir test/web

4:上传tomcat和jdk到该目录(Web)下。

5:配置Dockerfile :vim Dockerfile,然后复制下面的代码到Dockerfile中,保存。记得相应修改tomcat和jdk名

#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

 6构建镜像

[root@localhost web]# docker build -t keven/centos:tomcat-centos --rm=true .
Sending build context to Docker daemon 507.1 MB
Step 1 : FROM centos
Trying to pull repository docker.io/library/centos ...
latest: Pulling from docker.io/library/centos
785fe1d06b2d: Pull complete
Digest: sha256:be5b4a93f116a57ab3fd454ada72421eac892a3a4925627ac9a44f65fcd69cf8
---> 98d35105a391
Step 2 : MAINTAINER 27381011@qq.com
---> Running in 6c49ddc87de9
---> 717ea8232a68
Removing intermediate container 6c49ddc87de9
Step 3 : ADD ./apache-tomcat-8.5.11.tar.gz /root
---> 79dee4e0968b
Removing intermediate container b7fd20fb27d4
Step 4 : ADD ./jdk-8u11-linux-x64.tar.gz /root
---> f9e00a11709f
Removing intermediate container 3e1d1cd9705f
Step 5 : ENV JAVA_HOME /root/jdk1.8.0_11
---> Running in b2296ac1b856
---> 67ea9916ce46
Removing intermediate container b2296ac1b856
Step 6 : ENV PATH $JAVA_HOME/bin:$PATH
---> Running in 904ef55db8dc
---> a32596709d8e
Removing intermediate container 904ef55db8dc
Step 7 : ENTRYPOINT /root/apache-tomcat-8.5.11/bin/startup.sh && tail -F /root/apache-tomcat-8.5.11/logs/catalina.out
---> Running in 959ccd7993b0
---> 41ab74750331
Removing intermediate container 959ccd7993b0
Successfully built 41ab74750331

7查看新产生的镜像

[root@localhost web]# docker images keven/centos
REPOSITORY TAG IMAGE ID CREATED SIZE
keven/centos tomcat-centos 41ab74750331 5 minutes ago 529.6 MB

8运行镜像

docker run -d -p 8090:8080 5207

  

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

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

5207是镜像的ID前4位。

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

 

使用Dockerfile docker tomcat部署的更多相关文章

  1. Docker Tomcat部署

    1.下载tomcat镜像 docker pull tomcat 2.上传项目 /etc/tomcat/webapps/ 3.启动tomcat容器 docker run -d --name tomcat ...

  2. 使用docker+tomcat部署jenkins

  3. docker快速部署本地项目到服务器(tomcat8+mysql8)

    目标是:将本地运行的spring项目,部署到服务器上 为什么使用docker? 环境隔离 服务器上,各种环境交杂,使用docker,能清楚的把各个项目进行隔离,不单维护的人员方便,也会省去很多维护这些 ...

  4. docker 实战---部署tomcat\weblogic集群 (二)

    安装tomcat镜像 准备好须要的jdk tomcat等软件放到home文件夹以下 启动一个虚拟机 docker run -t -i -v /home:/opt/data  --name mk_tom ...

  5. Docker容器Tomcat部署war包

    在docker容器中使用tomcat部署war包主要包括四个步骤,创建tomcat容器.上传war包到容器.重启容器.访问应用. 1.创建tomcat容器 使用docker run  -d --nam ...

  6. Docker Compose部署 nginx代理Tomcat集群

    一.简介 使用Docker镜像部署Nginx代理的多个Tomcat集群: 使用Dockerfile构建nginx镜像 使用Dockerfile构建tomcat镜像 mysql镜像使用docker hu ...

  7. 如何使用Dockerfile构建Tomcat镜像并部署war

    我们都知道Docker构建一个镜像有两种方式: 使用`docker commit`命令 使用`Dockerfile`文件和`docker build`命令 那么这两种方式有何区别呢? 相同点:底层实现 ...

  8. Docker容器部署tomcat出现中文乱码

    docker 容器部署tomcat后,日志文件中出现中文乱码,很多问号,中文的文件夹也是问好.先看看容器的locale: [root@docker1 ~]# docker exec -it 41de9 ...

  9. 如果在docker中部署tomcat,并且部署java应用程序

    1.先说如何在docker中部署tomcat 第一步:root用户登录在系统根目录下创建文件夹tomcat7,命令如:mkdir tomcat7,并且切换到该目录下:cd tomcat7: 第二步:创 ...

随机推荐

  1. DWR原理探秘

    DWR原理探秘 DWR(Direct Web Remoting)远程Web命令;是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站.它可 ...

  2. python产生随机字符串

    def GenerateRandomString(len, basechars = []): if (basechars == []): x = range(ord() x.extend(range( ...

  3. [转]MySQL时间与字符串相互转换

    转至:https://www.cnblogs.com/wangyongwen/p/6265126.html 时间.字符串.时间戳之间的互相转换很常用,但是几乎每次使用时候都喜欢去搜索一下用法:本文整理 ...

  4. hadoop streaming 文档

    Hadoop Streaming框架使用(一) Streaming简介 Streaming框架允许任何程序语言实现的程序在Hadoop MapReduce中使用,方便已有程序向Hadoop平台移植.因 ...

  5. 从零开始搭建.NET Core 2.0 API(学习笔记一)

    从零开始搭建.NET Core 2.0 API(学习笔记一) 一. VS 2017 新建一个项目 选择ASP.NET Core Web应用程序,再选择Web API,选择ASP.NET Core 2. ...

  6. 记一次安装kolla遇到DockerException: Error while fetching server API version: Timeout value connect was Timeout的问题

    1)环境信息: docker版本:17.09,当docker的版本是12.06时,也会报这个错误 [root@localhost ~]# docker --version Docker version ...

  7. UWP&WP8.1 附加属性 和WebView的NavigateToString方法XAML绑定方法

    附加属性,即为添加一个没有的属性的. 使用方法和依赖属性相似,个人理解就是特殊形式的依赖属性. 经常的用处,以一个简单的来说,比如一个控件的某一个属性我们想在XAML中给其绑定数据.但是我们在XAML ...

  8. Django之后台管理一

    所有的网站都有一个管理后台来对所有的网站数据进行管理.那么Django的后台管理是如何进行的.在网页中输入http://127.0.0.1:8001/admin.得到如下的登录界面 在这里可以看到管理 ...

  9. [WIP]React 核心概念

    创建: 2019/05/01 Hello World   ReactDOM.render( <p>sample</p>, document.getElementById('ro ...

  10. MySQL数据库之插入显示图片

    图书馆系统项目需要用到好多图片,并且要求存入到数据库中,对这个特别感兴趣,于是上网查了资料,采用C#语言,进行了具体实现. 说明: 功能:往MySQL数据库插入并显示图片: 验证:执行插入功能后,我把 ...