此篇博客一部分内容有赖于上一篇博客中已经陈述过的信息,如需了解,请移步:
http://danlley.iteye.com/blog/2365651
切入正题,上一篇中介绍了如何在Docker中部署Tomcat,接下来将详细说明如何在Docker的Tomcat容器中部署war包。
通常情况下,一个web应用都脱不开数据库操作,这里我们以MySQL为例来说明一个web应用Docker、一个MySQL数据库Docker构成的最基本的应用实例
首先获取MySQL的最新Docker:
docker pull daocloud.io/mysql:latest
下载后得到的image通过以下命令查看:
root@danlley-VirtualBox:/home/danlley# docker images REPOSITORY TAG IMAGE ID CREATED SIZE webapp1 latest a32bca93f476 About an hour ago 538.1 MB <none> <none> 47512a4d6166 2 hours ago 538.1 MB webapp latest abbbfb1f232d 12 hours ago 512.7 MB daocloud.io/mysql latest 7666f75adb6b 8 weeks ago 405.6 MB daocloud.io/ubuntu latest f49eec89601e 9 weeks ago 129.5 MB
接下来直接用镜像生成MySQL容器,并启动:
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=111111 7666f75adb6b
注意:这里默认的docker是没有设定root用户的密码的,为方便后面对数据库docker进行管理,我们对root的密码进行了初始化,同时,如果你是计划将已经有的web应用迁移到docker的话,这里的端口号依然使用3306可以为你后面的工作省一些力气。
数据库docker启动成功以后,就需要对该数据库进行管理,根据自身的应用,导入数据库表及结构,给相应的数据库实例开管理账号等,这些都是和平时的做法没什么差别了。
至此,数据库的docker准备工作结束,接下来开始准备部署war包到Tomcat容器并进行应用调试。
docker的war包部署相对简单,将war包放在Dockerfile相应的同一个目录下(其中Tomcat、jdk等都放该路径),编写Dockerfile文件:
FROM daocloud.io/ubuntu:latest MAINTAINER danlley email: danlley@126.com # now add java and tomcat support in the container ADD jdk-8u121-linux-x64.tar.gz /usr/local/ ADD apache-tomcat-9.0.0.M18.tar.gz /usr/local/ # configuration of java and tomcat ENV ENV JAVA_HOME /usr/local/jdk1.8.0_121 ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.0.M18 ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.0.M18 ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin # add war in webapps ADD ./myteay-web.war /usr/local/apache-tomcat-9.0.0.M18/webapps # container listener port EXPOSE 8080 # startup wev application services by self CMD /usr/local/apache-tomcat-9.0.0.M18/bin/catalina.sh run
接下来通过Dockerfile构建webapp镜像
1、生成镜像:
root@danlley-VirtualBox:/home/danlley/dockerfiles# docker build .
2、为生成的镜像打tag:
root@danlley-VirtualBox:/home/danlley/dockerfiles# docker tag abbbfb1f232d webapp
3、启动镜像:
docker run -d -p 8090:8080 webap
4、测试镜像部署结果,本地浏览器访问地址: http://192.168.56.102:8090
至此,一个由docker构成的简单web应用搭建成功。
各位看官,原创不易啊,转载请注明出处: http://danlley.iteye.com 看在打字不易的份上,打赏一个吧
参考资料:
相关推荐
docker 安装操作说明文档,部署web应用; 使用docker运行gpu 镜像,共享宿主机 显存
主要介绍了Docker学习笔记之Docker部署Java web系统,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
为了节约成本,很多时候一台server 的nginx可能要部署多个前端的情况,本实例是在docker环境下部署两个前端,同时处理前端调用后端跨域问题,本示例为阿里云centos7 系统docker20.10.6环境下nginx1.19.5版本 ...
docker自动部署dockerfile JDK、mysql、tomcat、java web项目
docker一键部署。lilishop是B2B2C多用户商城系统开发的JAVA
包括Spring Boot开发Web应用、Sping Boot的Docker部署、Dubbo微服务实践等。 示例代码 spring-boot-jpa-thymeleaf-crud Spring Boot+JPA+Thymeleaf实现增删改查示例 spring-boot-mybatis-thymeleaf-crud Spring ...
1.1. Docker简介 Docker 是一个开源的应用容器引擎,基于 Go 语言开发。...在服务型环境中部署和调整数据库或其他的后台应用 使用Docker可以实现开发人员的开发环境、测试人员的测试环境、运维人员的生产环境的一致性。
docker kubernetes dashboard安装部署详细介绍和Docker如何使用link建立容器之间的连接。这篇文章主要介绍如何在docker上部署springboot项目。关于如何创建springboot项目可以看看这篇文章IDEA上面搭建一个...
01-docker基本概念 02-docker安装之centos 7 03-docker镜像相关操作命令 04-docker容器操作命令 05-docker应用之tomcat容器部署web应用 06-问题解决
它被广泛用于开发Web应用程序、企业级应用程序、移动应用程序、嵌入式系统和消费类电子产品等。Java提供了丰富的类库和工具,使开发人员能够快速构建各种类型的应用程序。 Java语言具有面向对象的特性,包括封装、...
该 We 项目是自己的一个开源项目,先通过 Docker-Conpose 这个技术,来对该 Web 项目进行一键配置环境及安装部署项目。需要 Docker-Conpose 环境,在此不进行描述。 Docker 安装 Docker-Conpose 安装 web 环境要求 ...
上一篇已经安装好docker服务,下面继续介绍如何部署web项目 一:随便创建目录dock,准备好如下文件: 二、编写Dockerfile,通过它能快速地构建docker镜像 vi Dockerfile 新增如下配置 FROM centos MAINTAINER ...
更多的玩法还有大规模 web 应用、数据库部署、持续部署、集群、测试环境、面向服务的云计算、虚拟桌面 VDI 等等。 主观的印象:Docker 使用 Go 语言编写,用 cgroup 实现资源隔离,容器技术采用 LXC. 提供了能够独立...
演示Web工件处理程序POC应用程序一个Java应用程序,它在由Google Kubernetes精心组织的Apache Tomcat Docker容器中部署指定的Web工件。 使用库进行Docker映像处理,并使用库进行Google Kubernetes编排。 此Java ...
学之思开源考试系统是一款 java + vue 的前后端分离的考试系统。主要优点是开发、部署简单快捷、界面设计友好、代码结构清晰。支持web端和微信小程序,能覆盖到pc机和手机等设备。 支持多种部署方式:集成部署、前后...
示例servlet Java Web应用程序的简单示例,其中包含在Jetty中启动的gradle构建。 也是一个docker文件,用于使用Jetty中部署的代码构建容器。
Docker堆栈在生产中使用的堆栈和图像,用于开发,构建,测试,部署和维护基于PHP + NodeJS的Web应用程序。 作为开源发布,以便它们可以被其他项目使用和改编,或者在您设置自己的基于Docker的堆栈体系结构时作为参考...