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

宿主机为: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. Ubuntu 切换到桌面 快捷键设置

    设置完以上步骤后,这接windows系统键+d,即可切换到桌面. ps:按Alt+Tab键,可以切换到自己想要的图标进程.

  2. Batch Normalization 与Dropout 的冲突

    BN或Dropout单独使用能加速训练速度并且避免过拟合 但是倘若一起使用,会产生负面效果. BN在某些情况下会削弱Dropout的效果 对此,BN与Dropout最好不要一起用,若一定要一起用,有2 ...

  3. About English Web Site Font

    Which font will you choose when develop one website! Actually , I have no idea about this! If you ha ...

  4. 【LeetCode】将罗马数字转换成10进制数

    Roman to Integer Given a roman numeral, convert it to an integer. 首先介绍罗马数字 罗马数字共有七个,即I(1),V(5),X(10) ...

  5. [译]Javascript数列filter方法

    本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU& ...

  6. Http工作原理(转)

    HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议.它可以使浏览器更加高效,使网络传输减少.它不仅保证计算机正确 ...

  7. javaweb访问hdfs的一些错误

    javaweb 与 HDFS 坑 前提:javaweb 项目,hdfs中的数据文件,导入访问hdfs的jar包,eclipse调试 问题:在×××.java代码中正常访问hdfs,浏览jsp时调用×× ...

  8. G - 美素数

    小明对数的研究比较热爱,一谈到数,脑子里就涌现出好多数的问题,今天,小明想考考你对素数的认识.  问题是这样的:一个十进制数,如果是素数,而且它的各位数字和也是素数,则称之为“美素数”,如29,本身是 ...

  9. 算法提高 合并石子(DP)

    问题描述 在一条直线上有n堆石子,每堆有一定的数量,每次可以将两堆相邻的石子合并,合并后放在两堆的中间位置,合并的费用为两堆石子的总数.求把所有石子合并成一堆的最小花费. 输入格式 输入第一行包含一个 ...

  10. 区块链中的密码学(二)-RSA算法分析和实现

    密码学领域中,加密算法主要分为对称加密和非对称加密,随着信息时代安全性要求越来越高,对称加密因为其易被破解的原因逐渐被舍弃.而RSA算法是目前密码学世界中比较流行的非对称加密算法,命名是根据其发明者R ...