mysql服务

以sql文件clock_in.sql为例

当然也可以选择直接先起一个mysql容器,用数据库管理工具建。这边主要是为了自动部署。

  • clock_in.sql
/*
Navicat MySQL Data TransferSource Server         : spring
Source Server Version : 50717
Source Host           : localhost:3306
Source Database       : clock_inTarget Server Type    : MYSQL
Target Server Version : 50717
File Encoding         : 65001Date: 2020-04-03 14:32:58
*/
create database `test` default character set utf8 collate utf8_general_ci;
use test;SET FOREIGN_KEY_CHECKS=0;-- ----------------------------
-- Table structure for `user`
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (`id` int(11) NOT NULL AUTO_INCREMENT,`email` varchar(30) COLLATE utf8_bin NOT NULL,`passwd` varchar(40) COLLATE utf8_bin NOT NULL,`is_admin` int(1) NOT NULL DEFAULT '0',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES ('1', 'admin', 'admin', '1');
  • privileges.sql

修改mysql密码

use mysql;
select host, user from user;
-- 因为mysql版本是5.7,因此新建用户为如下命令:
create user test_user identified by 'test_passwd';
-- 将xgctf数据库的权限授权给创建的test_user用户,密码为test_passwd
grant all on test.* to test_user@'%' identified by 'test_passwd' with grant option;
-- 这一条命令一定要有:flush privileges;
  • setup.sh
#!/bin/bash
set -e#查看mysql服务的状态,方便调试,这条语句可以删除
echo `service mysql status`echo '1.启动mysql....'
#启动mysql
service mysql start
sleep 3
echo `service mysql status`echo '2.开始导入数据....'
#导入数据
mysql < /mysql/clock_in.sql
echo '3.导入数据完毕....'sleep 3
echo `service mysql status`#重新设置mysql密码
echo '4.开始修改密码....'
mysql < /mysql/privileges.sql
echo '5.修改密码完毕....'#sleep 3
echo `service mysql status`
echo `mysql容器启动完毕,且数据导入成功`
  • tail -f /dev/null

Dockerfile

FROM mysql:5.7.20#设置免密登录
ENV MYSQL_ALLOW_EMPTY_PASSWORD yes#将所需文件放到容器中
COPY setup.sh /mysql/setup.sh
COPY clock_in.sql /mysql/clock_in.sql
COPY privileges.sql /mysql/privileges.sql
#为/mysql/setup.sh添加执行权限
RUN chmod u+x /mysql/setup.sh
#设置容器启动时执行的命令
CMD ["sh", "/mysql/setup.sh"]
  • build镜像
docker build . -t mysql_test
  • 开启容器
docker run -d  --name=mysqlserver mysql_test

这边给容器名称为mysqlserver

tomcat服务

  • application.properties

配置数据库连接文件,例如:

spring.datasource.url=jdbc:mysql://mysqlserver:3306/test?serverTimezone=GMT%2B8
!--spring.datasource.url=jdbc:mysql://localhost:3306/mall
spring.datasource.username=test_user
spring.datasource.password=test_passwd
!--spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
server.port=8080
!--mapping对应的就是resources下面的mapping目录。
mybatis.mapper-locations=classpath:mapping/*.xml
!--com.mall.entity是包目录。
mybatis.type-aliases-package=com.challenge.clockin.model
logging.level.com.mall.mapper=debug!--连接池最大连接数(使用负值表示没有限制)
spring.redis.jedis.pool.max-active=-1
!--连接池最大阻塞等待时间(使用负值表示没有限制)
!--spring.redis.jedis.pool.max-wait=-1
!--连接池中的最大空闲连接
spring.redis.jedis.pool.max-idle=8
!-- # 连接池中的最小空闲连接
spring.redis.jedis.pool.min-idle=0
!-- # 连接超时时间(毫秒)
!--spring.redis.timeout=

主要注意修改数据库连接,将指定的ip地址改为mysql对应的容器名,在后面启动容器的时候进行对应。以及注意修改连接的用户名密码为前面mysql服务对应的。

打包好war包后

  • Dockerfile
FROM tomcat
MAINTAINER author <author@qq.com>
EXPOSE 8080
COPY test.war /usr/local/tomcat/webapps
ENTRYPOINT /root/startup.sh
  • 部署tomcat容器服务命令
docker run -d -p 1234:8080 --link mysqlserver:mysqlserver  test_server

测试一下发现成功传入username和passwd,服务器端成功去执行了sql命令返回了一条记录。

docker部署tomcat+mysql服务相关推荐

  1. Docker(四):使用Docker部署tomcat、mysql、nginx静态服务器

    使用Dokcer可以很好的对镜像进行管理,创建和使用容器.这篇博客将简单介绍一下如何使用Docker来安装Tomcat.Mysql和Nginx文件服务器.相关阅读: Docker(一):Docker的 ...

  2. 【Docker实战】使用Docker部署Tomcat

    [Docker实战]使用Docker部署Tomcat 一.Tomcat介绍 1. Tomcat简介 2. Tomcat特点 3. Tomcat容器部署的优点 4. Tomcat的配置文件 二.检查本地 ...

  3. 基于docker部署的微服务架构(九): 分布式服务追踪 Spring Cloud Sleuth

    为什么80%的码农都做不了架构师?>>>    前言 微服务架构中完成一项功能经常会在多个服务之间远程调用(RPC),形成调用链.每个服务节点可能在不同的机器上甚至是不同的集群上,需 ...

  4. Docker部署Django+Mysql+uWSGI+Nginx Web应用 - 笔记更新2022-01-04

    Docker 部署Django+Mysql+uWSGI+Nginx Web应用 Change logs更新记录 2022/1/4 fixed web access problem of wide ar ...

  5. Docker学习篇——使用Docker部署账单微服务项目

    Docker概念 Docker 是一个开源的应用容器引擎 诞生于 2013 年初,基于 Go 语言实现, dotCloud 公司出品(后改名为Docker Inc) Docker 可以让开发者打包他们 ...

  6. Docker Review - docker部署Tomcat Nginx

    文章目录 Docker 部署tomcat 搜索 tomcat 下载tomcat 启动tomcat 访问tomcat 查看webapps & 修复问题 重新访问tomcat Docker 部署N ...

  7. Ubuntu Server 16.04 LTS上使用Docker部署Tomcat修改为80端口

    场景 Ubuntu Server 16.04 LTS上使用Docker部署Tomcat: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/detai ...

  8. Ubuntu Server 16.04 LTS上使用Docker部署Tomcat

    场景 Ubuntu Server 16.04 LTS上安装Docker(使用脚本的方式): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...

  9. 用Docker部署TensorFlow Serving服务

    文章目录 1. 安装 Docker 2. 使用 Docker 部署 3. 请求服务 3.1 手写数字例子 3.2 猫狗分类例子 参考: https://tf.wiki/zh_hans/deployme ...

最新文章

  1. springMVC 时间、js、html处理
  2. C++ 标准库类型 queue
  3. mvn -U clean eclipse:clean eclipse:eclipse
  4. 【STM32】GPIO模拟I2C程序示例
  5. 7-7 硬币找钱问题 (10 分)(思路+详解+double类型数据的处理)Come baby!!!!!!!!!!!!!!!!!!!!
  6. java教程百度文库,成功拿到offer
  7. 重庆大学李婷婷计算机学院,北京大学青年研究中心赴我校考察调研
  8. matlab读取数据 溢出,matlab读取400多兆的wav数据,内存溢出,如何解决
  9. Python数据可视化的四种简易方法 1
  10. 4.21-4.26旅行记之山城重庆(二)
  11. 如何在云服务器上使用Docker部署easy-mock
  12. 软件开发工作量/费用估算
  13. java接口自动化测试框架搭建
  14. 那么如何成为优秀的机械工程师,如何提升自己的实力,有哪些值得注意和学习的呢?
  15. 命令提示符死亡之ping教程
  16. SuperMap iClient3D for WebGL教程(特效)- 点光源
  17. 爬取全国12个热门城市奶茶店铺情况,看看你的城市哪个品牌最多
  18. 苹果手机上网很慢_手机的信号满格,为什么上网速度却很慢?一招教你解除限制...
  19. DCloud之Android原生工程配置
  20. 如何访问局域网内宿主机上的虚机服务

热门文章

  1. 化工热力学重修补考第三章重点内容
  2. 八十五、Python | Leetcode数据结构之图和动态规划算法系列
  3. 六、乘胜追击,将剩下的Git知识点搞定
  4. 四十一、Python统计模块statistics
  5. 程序员去创业公司做CTO,需要注意什么?
  6. EMNLP 2020 | 基于Wasserstein距离的正则化序列表示
  7. BERT可以上几年级了?Seq2Seq“硬刚”小学数学应用题
  8. 直播 | 清华大学王晨阳:轻量级Top-K推荐框架及相关论文介绍
  9. 经典论文复现 | 基于标注策略的实体和关系联合抽取
  10. 本周不容错过的的9篇NLP论文 | PaperDaily #21