一、准备工作

1、下载安装docker

2、下载tomcat压缩包

(1)我这里是下载的apache-tomcat-9.0.8.tar.gz

下载地址
https://tomcat.apache.org/download-90.cgi

如图

(2)通过命令解压,得到的解压包,并改名为tomcat9 

tar -xzvf apache-tomcat-9.0.8.tar.gz
mv apache-tomcat-9.0.8 tomcat9

3、下载jdk压缩包

(1)下载jdk-8u131-linux-x64.tar.gz

wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz

(2)通过命令解压,并改没那个为jdk18

tar -xzvf jdk-8u131-linux-x64.tar.gz
mv jdk-8u131-linux-x64 jdk18

二、部署流程

1、第一种方式

 将系统centos作为基础镜像,tomcat和jdk等依赖环境需要的文件复制到容器对应的路径下,即可使用,添加环境变量并暴露8082端口

(1)编辑Dockerfile

#使用的基础镜像
FROM centos
#创建目录
RUN mkdir -p /docker_home/local
#把当前目录下的jdk文件夹添加到镜像
ADD tomcat9 /docker_home/local/tomcat9
ADD jdk18 /docker_home/local/jdk18
ENV JAVA_HOME /docker_home/local/jdk18/
ENV CATALINA_HOME /docker_home/local/tomcat9
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
#暴露8082端口
EXPOSE 8082
#启动时运行tomcat
CMD ["/docker_home/local/tomcat9/bin/catalina.sh","run"]

(2)构建镜像

docker build -t centos -f Dockerfile ./

(3)启动容器

docker run -d -p 8082:8082 --name=tomcat9 centos

2、第二种方式

直接使用tomcat公共镜像作为基础镜像

(1)编辑Dockerfile

#使用的基础镜像
FROM tomcat:8.5
#启动时运行tomcat
CMD ["catalina.sh", "run"]
#设置启动命令
#ENTRYPOINT ["/usr/local/tomcat/bin/catalina.sh","run"]

(2)构建镜像

docker build -t tomcat:8.5 -f Dockerfile ./

(3)启动镜像

docker run -d -p 8080:8080 --name=tomcat2 tomcat:8.5

五、使用IP:PORT浏览器访问

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

  1. dockerfile部署tomcat+jdk

    FROM centos: MAINTAINER www.ctnrs.com ENV VERSION= RUN yum install wget curl unzip iproute net-tools ...

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

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

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

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

  4. 利用Dockerfile部署SpringBoot项目

    利用Dockerfile部署SpringBoot项目 1.创建一个SpringBooot项目并且打成jar包 2.在Linux中创建一个文件夹,来做docker测试 [root@izwz90lvzs7 ...

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

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

  6. Docker学习笔记_10 docker应用 - 部署TOMCAT服务

    选择基镜像 基镜像使用dokcer hub官方提供的tomcat8 alpine当前最新版本,https://hub.docker.com/_/tomcat/ docker pull tomcat:8 ...

  7. dockerfile构建Tomcat镜像

    dockerfile构建Tomcat镜像 一.镜像分层概念 二.制作tomcat镜像 2.1.创建分层目录 [root@node2 ~]# mkdir /app/{web/{nginx,tomcat, ...

  8. 3-linux下部署tomcat应用

    linux下部署tomcat应用 相关软件下载 jdk      http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downlo ...

  9. 关于前期在云服务器上部署TOMCAT服务器的问题

    如果你要将你的项目放在服务器上(针对云服务器),首先你必须要学会前期部署Tomcat的准备, 第一步:安装jdk,配置环境变量 这个比较简单,配置java环境变量最为简单的方法是将java的 (../ ...

随机推荐

  1. python3输出中文报错的原因,及解决办法(基于pycharm)

    通常python3里面如果有中文,在不连接其他设备和程序的情况下,报错信息大致如下: SyntaxError: Non-UTF-8 code starting with '\xd6' in file ...

  2. substr()、substring()、slice()

    substr(start,length) start(必选)开始位置的下标 可为负数-1即为倒数第一个字符以此类推 0为第一个字母下标 length长度(可选)如果省略该参数则默认到最后一位 var ...

  3. docker 报错端口被占用 sqlserver 占用80端口

    本想开启个容器,却发现有程序居然占用了我的80端口 C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response fr ...

  4. Redis缓存在django中的配置

    django  settings中的配置 # 缓存 CACHES = { "default": { "BACKEND": "django_redis. ...

  5. 八、条件变量std::condition_variable、wait()、notify_one()、notify_all(粗略)

    一.std::condition_variable 用在多线程中. 线程A:等待一个条件满足 线程B:专门在消息队列中扔消息,线程B触发了这个条件,A就满足条件了,可以继续执行 std::condit ...

  6. SQL注入的简单认识

    写在前面 MYSQL5.0之后的版本,默认在数据库中存放一个information_schema的数据库,其中应该记住里面的三个表SCHEMATA.TABLES.COLUMNS SCHEMATA表:存 ...

  7. AGC002 F Leftmost Ball——DP

    题目:https://atcoder.jp/contests/agc002/tasks/agc002_f 充要条件是前缀0的个数 >= 颜色种数. 设计 DP ,放一个颜色的时候就把所有该颜色的 ...

  8. springBoot JPA PageAble分页查询出错,PropertyReferenceException: No property creation found for type

    PropertyReferenceException: No property creation found for type @RequestParam(required = false, defa ...

  9. 【python】 读写文件

    #标准输出 sys.stdout.write() sys.stderr.write() #标准输入 while True : try: line = raw_input().rstrip(); exc ...

  10. Cocos2d-x之UI控件简介

    |   版权声明:本文为博主原创文章,未经博主允许不得转载. 在Cocos2d-x中提供了一种UI控件,UI控件是指用户交互界面的操作部件.UI控件可以是Button(按钮),CheckBox(选择框 ...