Docker搭建tomcat运行环境(Dockerfile方式)
上一篇文章的基本做法是通过centOS的官方镜像启动一个容器,然后进入到容器中,手动敲命令安装JDK跟tomcat,这个跟在linux下搭建没有什么区别,只是用来熟悉docker命令,并且在日常开发中如过没有完全符合自己需求的image时(例如RabbitMQ设置用户名和密码),我们可以pull一个现成的,在这个基础上进行修改,效率可能会更高一点,在大部分情况下我们都会选择使用Dockerfile来构建自己的image。
1、准备相关的软件包和镜像
docker pull centos 拉取镜像,创建/opt/software包,在包内放入jdk和tomcat的压缩包

2、编辑Dockerfile,特别需要注意的是jdk、tomcat的压缩包在镜像中解压后的包名,在设置环境变量时不要写错了,我的内容如下
#基础镜像
FROM centos
#维护人员信息
MAINTAINER asd #设置工作目录,这个命令是用来切换工作目录的,相当于cd命令
WORKDIR /usr #将宿主机中的jdk压缩包复制到镜像中,使用相对路径,我的Dockerfile和jdk、tomcat的压缩包在一个目录下,而二个参数是镜像中保存的路径
COPY jdk-8u152-linux-x64.tar.gz /usr
COPY apache-tomcat-8.0..tar.gz /usr #RUN用来执行linux命令,解压jdk和tomcat,在解压后可以将镜像中的压缩包删了,以降低最终创建镜像的大小
RUN tar -zvxf /usr/jdk-8u152-linux-x64.tar.gz -C /opt && rm -rf /usr/jdk-8u152-linux-x64.tar.gz
RUN tar -zvxf /usr/apache-tomcat-8.0..tar.gz -C /opt && rm -rf /usr/apache-tomcat-8.0..tar.gz #设置环境变量
ENV JAVA_HOME /opt/jdk1..0_152
ENV PATH $PATH:/$JAVA_HOME/bin #暴露tomcat的内部接口
EXPOSE
#启动容器时,执行脚本文件启动Tomcat并持续输出日志,防止容器退出
ENTRYPOINT /opt/apache-tomcat-8.0./bin/startup.sh && tail -f /opt/apache-tomcat-8.0./logs/catalina.out
3、创建镜像
在/opt/software目录下执行创建命令 docker build -t mycat:1.0 .,macat是镜像的名字,命令最后面有一个"点",代表当前路径,不要忘了。创建完成后输入docker images,可以看到自己创建的镜像。
4、运行镜像,创建一个tomcat server
docker -it --name mycat001 -p 8088:8080 mycat:1.0 /bin/bash
启动完成后,在浏览器中访问宿主机的ip+端口,就可以访问通了,如果出现类似于“driver failed programming external connectivity on endpoint goofy_bose”的错误,可以试一下关闭防火墙并重启docker,若出现“/opt/jdk-8u152/bin/java: No such file or directory ”类似的错误,则是环境变量的路径配置的不正确。

Docker搭建tomcat运行环境(Dockerfile方式)的更多相关文章
- 使用Docker搭建Tomcat运行环境
1 准备宿主系统 准备一个 CentOS 7操作系统,具体要求如下: 必须是 64 位操作系统 建议内核在 3.8 以上 通过以下命令查看您的 CentOS 内核: # uname -r 2 安装Do ...
- Docker搭建tomcat运行环境(修改镜像方式)
对于java程序员来说,要想使用Docker来部署你的应用,那么在镜像中安装类似于tomcat的容器基本上是必须的(sprintboot项目除外),本篇介绍自己基于对centos镜像的修改,创建自己的 ...
- 使用 Docker 搭建 Tomcat 运行环境
转自: http://m.oschina.net/blog/616526, 版权归原作者所有. 1 Docker与虚拟机 2 搭建过程 2.1 准备宿主系统 准备一个 CentOS 7操作系统 ...
- Docker学习笔记之二,基于Dockerfile搭建JAVA Tomcat运行环境
前言 在第一篇文字中,我们完全人工方式,一个命令一个命令输入,实现一个 java tomcat运行环境,虽然也初见成效,但很累人.如果依靠依靠脚本构建一个Tomcat容器实例,一个命令可以搞定,何乐而 ...
- Docker学习笔记之一,搭建一个JAVA Tomcat运行环境
Docker学习笔记之一,搭建一个JAVA Tomcat运行环境 前言 Docker旨在提供一种应用程序的自动化部署解决方案,在 Linux 系统上迅速创建一个容器(轻量级虚拟机)并部署和运行应用程序 ...
- Docker学习笔记之一,搭建一个JAVA Tomcat运行环境(转)
前言 Docker旨在提供一种应用程序的自动化部署解决方案,在 Linux 系统上迅速创建一个容器(轻量级虚拟机)并部署和运行应用程序,并通过配置文件可以轻松实现应用程序的自动化安装.部署和升级,非常 ...
- [转]Docker学习笔记之一,搭建一个JAVA Tomcat运行环境
本文转自:http://www.blogjava.net/yongboy/archive/2013/12/12/407498.html 前言 Docker旨在提供一种应用程序的自动化部署解决方案,在 ...
- 基于Dockerfile搭建JAVA Tomcat运行环境
前言 在第一篇文字中,我们完全人工方式,一个命令一个命令输入,实现一个java tomcat运行环境,虽然也初见成效,但很累人.如果依靠依靠脚本构建一个Tomcat容器实例,一个命令可以搞定,何乐而不 ...
- Centos7安装Docker 基于Dockerfile 搭建httpd运行环境
Centos7安装Docker 基于Dockerfile 搭建httpd运行环境 docker docker搭建 docker build 本文档完成目标内容如下 使用Docker搭建http服务器一 ...
随机推荐
- [Lua快速了解一下]Lua的Table
Lua中的Table其实就是一个Key Value的structure haoel = {name=, handsome=True} -table的CRUD操作 haoel.website=" ...
- logback 配置详解——logger、root
目录 1.根节点包含的属性 2.根节点的子节点 2.1.设置上下文名称: 2.2.设置loger.root 正文 回到顶部 1.根节点<configuration>包含的属性 scan: ...
- logback-spring.xml配置文件详解
logback-spring.xml配置文件 自己改下value="G:/logs/pmp"这个值,如果你相关依赖弄好的话,直接复制粘贴即用 输出的日志文件的名称最好也改下,下文中 ...
- scvmm应答文件 无人值守安装系统
我们可以通过这种windows配置文件实现winpe.光盘等无人职守安装配置操作系统,在scvmm虚拟化平台中这种文件叫做应答文件. 下面为一个windows server 2008 r2的一个完整应 ...
- Partition--分区切换
现有数据表[dbo].[staging_TB1_20131018-104722]和分区表[dbo].[TB1],需要将分区表和数据表中做数据交换 CREATE TABLE [dbo].[staging ...
- Oracle-利用解析函数计算连续、回流
---最大连续交易天数 select t2.customer_no,max(t2.co) from (select t1.customer_no,t1.yp) co from (select ctd. ...
- 【bzoj4889】: [Tjoi2017]不勤劳的图书管理员 分块-BIT
[bzoj4889]: [Tjoi2017]不勤劳的图书管理员 题目大意:给定一个序列(n<=50000),每个数有一个编码ai(ai<=50000)和权值vi(vi<=100000 ...
- JSR133规范学习
最近在看多线程相关的东西,通过阅读JSR133的faq来加深自己对多线程的理解,里面大部分的内容比较简单(越到后面越难),但是有的部分比较难以理解还没有完全弄懂,所以这里只记录了一下比较简单的阅读笔记 ...
- luogu4294 [WC2008]游览计划(状压DP/斯坦纳树)
link 题目大意:给定一个网格图,有些点是关键点,选择格点有代价,求把所有关键点联通的最小代价 斯坦纳树模板题 斯坦纳树问题:给定一个图结构,有一些点是关键点,求把这些关键点联通的最小代价e 斯坦纳 ...
- 使用canvas实现画中画效果的H5
最近看到一个挺有趣的H5,主要效果就是通过不断的放缩来展示画中画,网上找了一下并没有这方面的实现代码,故决定原创一下,并分享出来 主要的思路就是通过canvas不断的写入图片,考虑到每一层的图片的位置 ...