此篇博客一部分内容有赖于上一篇博客中已经陈述过的信息,如需了解,请移步:
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 部署 Java 项目流程 Docker 是一个开源的应用容器引擎,基于 Go 语言开发并遵从 Apache2.0 协议开源。使用 Docker 可以让开发者封装他们的应用以及依赖包到一个可移植的容器中,然后发布到任意的 Linux 机器...
docker 安装操作说明文档,部署web应用; 使用docker运行gpu 镜像,共享宿主机 显存
下面将介绍如何使用 Docker 安装 Jenkins 部署 Java 服务。 1. 准备 Docker 环境 在安装 Docker 之前,需要清除之前的版本,然后添加 Docker 国内源,最后安装 Docker。Docker 要求 CentOS 系统的内核版本高于 ...
通过本文的介绍,读者已经掌握了Java Web应用开发与Docker容器化部署的基本流程。Docker通过容器化技术简化了应用的开发、部署和运行过程,极大地提高了开发效率和运维便捷性。希望读者能够在实际项目中灵活运用所学...
docker一键部署。lilishop是B2B2C多用户商城系统开发的JAVA
【标题】"基于Java的Docker图形化界面管理WEB应用"揭示了这个项目的核心内容,即使用Java技术来开发一个能够对Docker容器进行图形化管理的Web应用程序。Docker作为一个流行的容器化平台,允许开发者将应用及其依赖...
主要介绍了Docker学习笔记之Docker部署Java web系统,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
为了节约成本,很多时候一台server 的nginx可能要部署多个前端的情况,本实例是在docker环境下部署两个前端,同时处理前端调用后端跨域问题,本示例为阿里云centos7 系统docker20.10.6环境下nginx1.19.5版本 ...
在自动化部署流程中,Harbor 负责存储和管理 Docker 镜像,并提供了一个安全的环境来部署应用程序。 五、 自动化部署流程 自动化部署流程的主要步骤包括: 1. 代码提交:开发者将代码提交到 Gitllab 服务器上。 2...
"毕业设计--基于java的docker图形化界面管理WEB应用"这个标题揭示了项目的主题,它是一个学生毕业设计项目,旨在创建一个基于Java的Web应用程序,该程序提供了一个图形用户界面(GUI)来管理和操作Docker容器。...
CentOS 6.7 安装 FastDFS Docker 部署 在本文中,我们将详细介绍 CentOS 6.7 下安装 FastDFS 文件服务器和 Docker 容器集群的过程。 1. 安装 JDK 1.8 在安装 FastDFS 之前,我们需要首先安装 JDK 1.8。在 CentOS ...
JAVA WEB 开发是计算机科学领域中的一个重要组成部分,它涉及到使用Java语言进行Web应用程序的构建。在本教学资料中,我们将深入探讨这一主题,为初学者和有经验的开发者提供宝贵的资源。 1. **基础概念** - **...
服务器配置和管理知识对于部署Java Web应用也至关重要。 7. 安全性知识:Java Web应用必须考虑安全问题,包括防止SQL注入、跨站脚本攻击(XSS)、跨站请求伪造(CSRF)等。 8. 开发工具和环境:熟悉集成开发环境...
- **Tomcat/Jetty**: 应用服务器,部署Java Web应用。 9. **持续集成/持续部署(CI/CD)** - **Jenkins**: 自动化构建和部署工具,提高开发效率。 - **Docker**: 容器化部署,保证环境一致性。 本项目中的"Web24_...
在Java Web编程的世界里,开发者们使用一系列技术和框架来创建动态、交互式的Web应用程序。"JAVA WEB编程从入门到实践"这一主题涵盖了从基础概念到实际应用的全面学习路径,旨在帮助初学者逐步掌握这个领域。 一、...
学习Java Web开发需要掌握如何使用JDBC进行数据库连接、执行SQL语句、处理结果集等操作。同时,了解ORM(Object-Relational Mapping)工具如Hibernate或MyBatis,它们能简化数据库操作,提高开发效率。 六、Web...