Dockerfile 部署java web的环境详解
作者:lqh 发布时间:2021-10-02 00:41:44
标签:Dockerfile,java,web
Dockerfile 构建java web 环境
Dockfile 介绍:
Dockfile是一种被Docker程序解释的脚本,Dockerfile由一条一条的指令组成,每条指令对应Linux下面的一条命令。Docker程序将这些Dockerfile指令翻译真正的Linux命令。Dockerfile有自己书写格式和支持的命令,Docker程序解决这些命令间的依赖关系,类似于Makefile。Docker程序将读取Dockerfile,根据指令生成定制的image。相比image这种黑盒子,Dockerfile这种显而易见的脚本更容易被使用者接受,它明确的表明image是怎么产生的。有了Dockerfile,当我们需要定制自己额外的需求时,只需在Dockerfile上添加或者修改指令,重新生成image即可,省去了敲命令的麻烦。
用dockerfile构建一个Java的web环境,主要分为2步,
第一步是在镜像中安装jdk并配置环境变量,
第二步是安装tomcat。
先贴一下完整的dockerfile
FROM ubuntu:14.04
MAINTAINER *** "***@******.com"
RUN apt-get update
ADD jdk-8u77-linux-x64.tar.gz /usr/local/java
ENV JAVA_HOME /usr/local/java/jdk1.8.0_77
ENV PATH $JAVA_HOME/bin:$PATH
ENV CLASSPATH .:$JAVA_HOME/lib
COPY apache-tomcat-8.0.33/ /usr/local/tomcat/apache-tomcat-8.0.33/
#RUN unzip /usr/local/tomcat/apache-tomcat-8.0.33.zip
RUN chmod +x /usr/local/tomcat/apache-tomcat-8.0.33/bin/*.sh
EXPOSE 8080
ENTRYPOINT /usr/local/tomcat/apache-tomcat-8.0.33/bin/startup.sh && /bin/bash
原始镜像是ubuntu14.04,然后将jdk的和tomcat的安装包放到和dockerfile相同的目录下。
这个Dockerfile还是比较简单的,jdk和tomcat也都是不需要编译的,都是解压即用,所以没什么特殊的地方。
Dockerfile编辑完了,就在Dockerfile所在的文件夹下构建镜像
docker build -t="redstarofsleep/javaweb" .
最后运行镜像,运行镜像的时候记得绑定端口
docker run -d -t -i -p 8081:8080 redstarofsleep/javaweb
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
来源:http://blog.csdn.net/redstarofsleep/article/details/53669003
0
投稿
猜你喜欢
- 投篮小游戏规则,点击投篮目标点,就会有一个球沿着相关抛物线,然后,判断是否进入篮子里,其实就是一个矩形,直接是按照碰撞检测来的,碰到就算进去
- 本文实例讲述了Java设计模式之 * 模式。分享给大家供大家参考,具体如下: * 模式有三个要素——事件源、事件对象、 * 。事件源:顾名思
- java沙箱环境测试支付宝支付接口?准备工作,登陆支付宝开放平台,进入沙箱环境开放平台链接:https://developers.alipa
- 一、准备工作mybatis-plus作为mybatis的增强工具,它的出现极大的简化了开发中的数据库操作,但是长久以来,它的联表查询能力一直
- 1、首先创建一个测试实体类Person,并携带如上注解,其注解的作用描述在messagepackage com.clickpaas.pojo
- 这篇文章主要介绍了Spring JDK * 实现过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要
- 本文实例讲述了C#封装的常用文件操作类。分享给大家供大家参考。具体如下:这个C#类封装了我们经常能用到的文件操作方法,包括读写文件、获取文件
- java.lang.NoClassDefFoundError错误解决办法前言在日常Java开发中,我们经常碰到java.lang.NoCla
- 解决方法有如下两种:第一种如果你 repo sync 了 android 的整个源码,那么可以直接把你的 app 放到 /packages/
- 一、分布式锁介绍分布式锁主要用于在分布式环境中保护跨进程、跨主机、跨网络的共享资源实现互斥访问,以达到保证数据的一致性。二、架构介绍&nbs
- 如果你发现在一个接口使用有如下定义方法: public String[] getParameters();那么你应该认
- 本文实例为大家分享了Java实现打字游戏的具体代码,供大家参考,具体内容如下新建一个项目,然后在src里面建一个MyGame.java文件,
- 前言最近参加了21天打卡活动,希望可以让自己养成写博客的习惯…ArrayList和LinkedListArrayLis
- 1.idea新建Maven项目Mybatis-study 将项目里的src文件夹删掉 依次将此项目作为父项目2.在Mybatis-study
- 使用ehcache-spring-annotations使得在工程中简单配置即可使用缓存下载地址:http://code.google.co
- 本文实例为大家分享了SpringBoot实现分页功能的具体代码,供大家参考,具体内容如下新建demo\src\main\java\com\e
- 1.将本地jar包放入本地仓库。只需执行如下命令即可:mvn install:install-file -Dfile=D:/demo/fib
- MyBatis根据条件批量修改字段背景:给学生改作业,只要是对的都批量进行数据库的修改代码以及注释conttoller@RestContro
- 1、使用第三方类库 HtmlAgilityPack官方网址:https://html-agility-pack.net/?z=codeple
- 1.CAS1)CAS概念CAS时Compare And Swap缩写,即比较与交换是用于实现多线程同步的原子指令,它将内存位置的内容与给定值