Docker Compose部署项目到容器-基于Tomcat和mysql的商城项目(附源码和sql下载)
场景
Docker-Compose简介与Ubuntu Server 上安装Compose:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100902301
Docker Compose基本使用-使用Compose启动Tomcat为例:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100904080
在上面已经实现使用Compose启动项目的基础上,实现使用Compose部署项目到容器。
实现
首先在/usr/local/docker目录下新建myshop目录并进入
新建yml配置文件
vi docker-compose.yml
配置文件中加入以下内容,不做具体讲解,注意的是这里是Mysql5.7.22,注意修改自己的root的密码以及注意
volumns数据卷的配置。
Docker中容器数据持久化-数据卷的简单使用:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/99194088
docker-compose.yml
version: ''
services:
web:
restart: always
image: tomcat
container_name: web
ports:
- :
volumes:
- /usr/local/docker/myshop/ROOT:/usr/local/tomcat/webapps/ROOT mysql:
restart: always
image: mysql:5.7.
container_name: mysql
ports:
- :
environment:
TZ: Asia/Shanghai
MYSQL_ROOT_PASSWORD:
command:
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--explicit_defaults_for_timestamp=true
--lower_case_table_names=
--max_allowed_packet=128M
--sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"
volumes:
- mysql-data:/var/lib/mysql volumes:
mysql-data:
然后按ESC并输入 :wq! 保存并退出。

然后在同一个目录下输入:
docker-compose up -d
以守护态运行项目

启动成功后可以查看日志
docker-compose logs web

其中web就是在配置文件中配置的服务名。
此时Mysql的服务已开启,所以此时使用Navicat等连接数据库应该是可以连接成功的。
连接成功后,运行sql脚本

部署项目
来到配置文件中数据卷的位置,将项目的zip包传输到 /usr/local/docker/myshop/ROOT
然后输入:
apt-get install unzip
安装解压工具,再输入;
unzip myshop.zip
将项目解压缩,然后进入WEB-INF/classes下
vi myshop.proerties
编辑数据库连接语句。

然后输入:
docker-compose down
docker-compose up
重新部署项目

打开浏览器输入:
ip:/login

找到数据库中user表中用户名密码
123456

项目源码以及sql文件下载
关注公众号:
霸道的程序猿
回复:myshop
获取项目源码以及sql文件,可直接运行。
Docker Compose部署项目到容器-基于Tomcat和mysql的商城项目(附源码和sql下载)的更多相关文章
- Docker Compose部署项目到容器-基于Tomcat和mysql的项目yml配置文件代码
场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...
- 基于Struts2+Hibernate开发小区物业管理系统 附源码
开发环境: Windows操作系统开发工具: MyEclipse+Jdk+Tomcat+MySql数据库 运行效果图: 源码及原文链接:https://javadao.xyz/forum.php?mo ...
- 干货——基于Nop的精简版开发框架(附源码)
.NET的开发人员应该都知道这个大名鼎鼎的高质量b2c开源项目-nopCommerce,基于EntityFramework和MVC开发,拥有透明且结构良好的解决方案,同时结合了开源和商业软件的最佳特性 ...
- SpringBean容器启动流程+Bean的生命周期【附源码】
如果对SpringIoc与Aop的源码感兴趣,可以访问参考:https://javadoop.com/,十分详细. 目录 Spring容器的启动全流程 Spring容器关闭流程 Bean 的生命周期 ...
- 一个开源的C#和cefsharp项目:逐浪字体大师pc版上线(附源码开源)
z01逐浪字体大师,是一款基于C#和web引擎开发的字体设计软件,可以打开直接写字,也可以链接官方资源 ,附Github开源库,欢迎大家下载.客户端技术是基于wpf设计的,整个界面精美,与逐浪CMS技 ...
- 基于Python接口自动化测试框架(初级篇)附源码
引言 很多人都知道,目前市场上很多自动化测试工具,比如:Jmeter,Postman,TestLink等,还有一些自动化测试平台,那为啥还要开发接口自动化测试框架呢?相同之处就不说了,先说一下工具的局 ...
- Java:基于AOP的动态数据源切换(附源码)
1 动态数据源的必要性 我们知道,物理服务机的CPU.内存.存储空间.连接数等资源都是有限的,某个时段大量连接同时执行操作,会导致数据库在处理上遇到性能瓶颈.而在复杂的互联网业务场景下,系统流量日益膨 ...
- Ubuntu Server 上使用Docker Compose 部署Nexus(图文教程)
场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...
- Docker Compose部署Nexus3时的docker-compose,yml代码
场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...
随机推荐
- javaWeb 中前端Form表单数据处理(手动拼json)
在前端我们会用到最多的就是form表单提交数据,在form表单中有很多都是自动将数据传到后台,然后通过实体来接受的,但是有的时候我们就是需要在前端就拿到这个Form表单的数据,这是我们就可以自己讲数据 ...
- Maven 项目使用mybatis的环境搭建-基于xml形式实现查询所有的功能
首先了解一下什么是 MyBatis? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集. ...
- 提取html内的文字1
public static string StripHTML(string strHtml) { string [] aryReg ={ @"<scrip ...
- 网编(小白心得osi七层协议)
目录 1 C/S B/S架构 2网络通信原理 3osi七层协议 数据链路层 网络层 传输层 应用层 1 C/S B/S架构 C:client端(客户端) B:browse 浏览器 S: s ...
- python(自用手册)导图
- lombok 下的@Builder注解用法
pom依赖 <dependency> <groupId>org.projectlombok</groupId> <artifactId& ...
- cocos creator 事件
cocos creator 事件 在做一个消除类游戏时,需要对点击的方块做出响应.代码很简单,可背后的原理还多着呢. 1. 普通节点注册click事件 在cc中如果需要相应click事件,需要为该节点 ...
- .net core 微服务项目-介绍篇
项目介绍 1.各种方式连接API都会连接到 APIGateway 来进行统一的分发 Ocelot 2.当api需要授权时 需要请求授权服务 IdentityServer4 3.授权服务对请求进行调用u ...
- Redis学习总结(九)-- Redis常用技巧
这里会记录下Redis 常用的小技巧 全局使用 redis-cli 等命令 在之前我们都在做 Redis 命令目录下通过 ./redis-cli这种形式访问,如果使用 redis-cli 的话就会报命 ...
- 我常用的一些linux命令
之前做过两年的运维,用过很多命令,深切体会到某些linux命令熟练掌握后对效率提升有多大.举个简单的例子,在做了研发后经常会有跑一些数据,对于结果数据的处理,我们的产品同学一般都习惯于用excel做统 ...