docker nginx tomcat mysql_使用docker部署nginx+tomcat架构(2):访问mysql数据库

上一篇完成了通过docker部署nginx+tomcat的基础软件架构,但是距离一个真正可用的软件架构还差得很远。其中最重要的一点是缺少数据库这个角色的存在,那么本篇就来完善这一点。

废话少说,直接进入正题。

首先拉取mysql镜像:

docker pull mysql:5.7

创建本地mysql目录:

mkdir -p ~/mysql/data ~/mysql/conf ~/mysql/logs

chmod -R 777 ~/mysql/logs

在mysql/conf目录下创建配置文件my.cnf:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

# For advice on how to change settings please see

# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[mysqld]

#

# Remove leading # and set to the amount of RAMforthe most important data

# cachein MySQL. Start at 70% of total RAM for dedicated server, else 10%.

# innodb_buffer_pool_size=128M

#

# Remove leading # to turn on a very important data integrity option: logging

# changes to the binary log between backups.

# log_bin

#

# Remove leading # to set options mainly usefulforreporting servers.

# The server defaults are fasterfortransactions and fast SELECTs.

# Adjust sizes as needed, experiment tofindthe optimal values.

# join_buffer_size=128M

# sort_buffer_size=2M

# read_rnd_buffer_size=2M

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0log-error=/var/log/mysql/error.log

pid-file=/var/run/mysqld/mysqld.pid

# disabling the password validation

#validate_password=off

# set bind-address

#bind-address=0.0.0.0

View Code

启动mysql:

docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=admin -v ~/mysql/conf:/etc/mysql/conf.d -v ~/mysql/data:/var/lib/mysql -v ~/mysql/logs:/var/log/mysql mysql:5.7

7b43b9986ebf1a8907310308b62c7d4d.png

登录mysql测试下(root密码已经已经设置成了admin):

mysql -uroot -p -h 172.17.0.2

f9694df843eef65cb93b457be9b8b836.png

看上去没什么问题😀

创建tomcat的jndi数据源tomcat/conf/context.xml:

新建一个javaweb工程demo,并配置web.xml:

mysql/test

javax.sql.DataSource

Container

创建测试页面testdb.jsp:

connect to mysql/test

DataSource dataSource=(DataSource) context.lookup("java:comp/env/mysql/test");

Connection conn=dataSource.getConnection();

out.println("Connection.isValid:" +conn.isValid(3));

conn.close();%>

打包demo工程上传到tomcat/webapps下,重启tomcat测试下:

docker restart tomcat1

docker restart tomcat2

测试下tomcat与mysql的连接是否成功:

ab5a7de8de30b8c2f1bce79f26d88aa6.png

ok, it works!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值