公司的一个java项目,然后这是组长给的一个任务,部署到docker中。

部署更不用说啦,肯定要写Dockerfile,不多想,先下载我需要的环境包。

1. JDK [JDK下载地址](Java SE Development Kit 8)

2. tomcat [tomcat下载地址](https://tomcat.apache.org/download-80.cgi)

3. maven [maven下载地址](Maven - Download Apache Maven)

下载好后,可以不解压,直接到docker中解压,但是我习惯先解压,然后直接复制目录到docker中

目录就这些,一个项目,一个Apache tomcat 一个 Apache maven 一个 jdk,因为镜像都不是国内的,所以引入一个镜像后,里面的安装源都是国外的,所以写了一个run.sh的脚本,用来替换掉镜像的安装源,Dockerfile就是我们的猪脚啦。代码在下面:

需要的一些安装包

----------

Dockerfile代码:

    # 引入基础镜像FROM ubuntu:16.04# 运行shell脚本,更换安装源COPY a really cool domain parked on Park.io /RUN apt-get install bash -yRUN /bin/sh a really cool domain parked on Park.io# 安装必要软件RUN apt-get update && apt-get install vim -y# 安装jdkRUN mkdir /home/javaADD jdk1.8.0_151/ /home/java/jdk1.8.0_151# 安装mavenRUN mkdir /var/tmp/mavenADD apache-maven-3.5.2/ /var/tmp/maven# 安装tomcatRUN mkdir /usr/local/tomcatADD apache-tomcat-8.5.23/ /usr/local/tomcat# 配置环境变量ENV MAVEN_HOME=/var/tmp/mavenENV PATH=${PATH}:${MAVEN_HOME}/binENV JAVA_HOME=/home/java/jdk1.8.0_151ENV JRE_HOME=/home/java/jdk1.8.0_151/jreENV PATH=$JAVA_HOME/bin/:$JAVA_HOME=/jre/bin:$PATH:$HOME/bin# 创建日志文件RUN touch /usr/local/tomcat/bin/run.log# 部署项目环境ADD freshstart-iec104/server.xml /usr/local/tomcat/conf/ADD freshstart-iec104 /usr/local/tomcat/webapps/freshstart-iec104WORKDIR /usr/local/tomcat/webapps/freshstart-iec104/RUN mvn clean packageRUN cd  /usr/local/tomcat/webapps/freshstart-iec104/target/ && mv freshstart-iec104.war /usr/local/tomcat/webapps/WORKDIR /usr/local/tomcat/webapps/RUN rm -rf freshstart-iec104/CMD /usr/local/tomcat/bin/catalina.sh run

----------

run.sh的代码:

    #/bin/bashcat <<EOF > /etc/apt/sources.listdeb Index of /ubuntu/ xenial main restricted universe multiversedeb Index of /ubuntu/ xenial-security main restricted universe multiversedeb Index of /ubuntu/ xenial-updates main restricted universe multiversedeb Index of /ubuntu/ xenial-proposed main restricted universe multiversedeb Index of /ubuntu/ xenial-backports main restricted universe multiversedeb-src Index of /ubuntu/ xenial main restricted universe multiversedeb-src Index of /ubuntu/ xenial-security main restricted universe multiversedeb-src Index of /ubuntu/ xenial-updates main restricted universe multiversedeb-src Index of /ubuntu/ xenial-proposed main restricted universe multiversedeb-src Index of /ubuntu/ xenial-backports main restricted universe multiverseEOF

->运行命令 docker build tomcat .

然后等他自己跑完吧,跑完还是需要一些时间的。

我把项目贴到github了

[github下载地址](litt1eseven/python-project)

如果你要测试,你需要把你的java项目加进去,并且在Dockerfile里改成你的项目名称哦。

博客地址:

七月有风 '​7yue.in

docker 发布tomcat项目_Docker部署java项目[tomcat环境]相关推荐

  1. docker部署mysql项目_docker部署springboot项目(web + mysql)

    前言 docker目前是非常热门的项目,本文暂不讨论docker集群环境中的部署项目问题. 环境准备 1. docker环境(本文使用centos7下的docker环境) 2. javaWeb项目(s ...

  2. start.bat怎么启动java项目_部署java项目为服务,设置开机自启动

    这是为小白定制的专属<Linux轻松上手>系列.涵盖了linux常用指令.shell脚本等核心内容,浅显易懂,配合实操案例快速上手.目标就是帮助大家轻松上手linux,少走弯路! 很多时候 ...

  3. docker compose java_Docker-compose部署java项目

    Docker-compose部署java项目 前置条件: 安装docker 安装docker-compose 防火墙啥的都设置好 dockerfile-demo FROM java:8 VOLUME ...

  4. Docker部署java项目(Dockerfile方式)

    Java 项目如何部署到Docker中? 如何将java项目部署到Docker中呢,这里以一个springboot为例 以下命令全部都是以linux为基础的 1. 首先找一个你熟悉的目录下创建一个目录 ...

  5. jenkins——部署java项目(2)

    2019独角兽企业重金招聘Python工程师标准>>> 部署java项目--创建私有仓库 java的项目是需要编译和打包的  编译和打包用maven完成,所以需安装maven  本次 ...

  6. JSD-2204-续 配置中心-Nginx-Linux部署java项目-Day19

    1.续 配置中心 上次课我们完成了cart模块的数据库配置信息添加到nacos的操作 我们也删除了cart模块原有的连接数据库信息的配置 下面开始,我们尝试连接nacos配置中心,读取数据库配置信息, ...

  7. 云服务器开启ftp_阿里云搭建wordpress 及部署java项目

    很久之前,小编就买了一年的阿里云服务器,也购买了域名,一直都没有时间,加上自己对linux的知识不足,最后小编终于把wordpress和tomcat同时部署在一个服务器上, 先简单说说阿里云的购买流程 ...

  8. 宝塔面板如何部署Java项目教程【新版】

    在新版的宝塔面板里,对JAVA支持已经越来越友好了,操作更加方便简单. 首先,将你你宝塔面板升级到7.8版本以上,点击右上角的"更新"即可自动更新到最新版本.如图 关于新版的宝塔面 ...

  9. 阿里云轻量云服务器部署java项目

    阿里云轻量云服务器部署java项目 前言:阿里云最新推出了轻量云服务器,说是可以简化配置.看重他是因为带宽明显提升.就继续照着ecs服务器的方式安装了一系列环境.系统是阿里云的Centos7.3.JD ...

最新文章

  1. python进阶项目设计_推荐系统进阶:设计和构建推荐系统流程综述(1)
  2. oracle 索引回表,oracle 索引简单总结
  3. 怎么下载php源文件,设计了一个php下载当前文件,却把php源文件下载下来了,为何?...
  4. 常见浏览器的兼容问题
  5. AngularJS支持的事件
  6. Exchange2010中文版安装教程
  7. 随手记_常用coding软件的快捷键-clion/vs code/vs/kdevelop
  8. Jep 解析字符串数学公式
  9. 【CAD技巧】CAD字体文字乱码(回复“CAD字体大全”)
  10. 手把手教你:安装svn出现could not write value to key的错误
  11. 网站分析工具深度讲解之访问来源统计(一)
  12. 计算某一天是星期几(C语言,可运行)
  13. 华为路由器接口编号与接口的对应关系
  14. 鸿蒙对比ios流畅,鸿蒙OS 2.0对比iOS 14:苹果流畅度完败?
  15. 找出数组中的最大数和最小数
  16. 联发科 MTK6765 八核安卓核心板主板定制方案
  17. 学习日记-卓有成效的管理者
  18. MVC三层架构简单理解
  19. 12.1-12.8 计算机网络课堂笔记
  20. 笔记本电脑如何锁定计算机,笔记本电脑如何锁定/解锁 Fn 键

热门文章

  1. mysql 中default 和NULL
  2. reactjs回调函数形式的ref:含内联形式回调函数调用次数问题
  3. sonarqube启动报错解决办法:Process exited with exit value [es]: 143
  4. idea2018.3.5集成scala开发环境
  5. Python3字符串复制
  6. 【视频】vue指令之v-else-if
  7. 解释内存中的栈、堆、静态区
  8. Java集合常见数据结构-栈/队列/数组/链表/红黑树
  9. Object类toString()和equals()方法剖析
  10. play!framework框架概述