Docker之Tomcat容器连接mysql容器
步骤1:拉取mysql镜像,拉取命令如下:(拉取MySQL镜像时最好指定一个常用版本,不加版本号默认拉取 latest 版本,一般生产环境以求稳为主)
1 | docker pull mysql:5.7 |
步骤2:拉取tomcat镜像,拉取命令如下:
1 | docker pull tomcat |
步骤3:创建mysql的一个容器,容器的名字是db001,创建命令如下:
1 | docker run --name db001 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 |
其中:
1)db001是自定义的mysql容器的别名
2)MYSQL_ROOT_PASSWORD=123456 是mysql数据root用户的密码
3)mysql是mysql的镜像名称,,5.7是版本号
步骤4:启动tomcat容器,并与mysql建立连接,tomcat镜像的名字是myweb,创建命令如下:
1 | docker run -it -p 8080:8080 --link db001:dbhost -d tomcat |
其中:
1)db001是步骤3中创建的mysql容器的名字,可以通过其访问数据库;
2)dbhost是个别名,web程序访问mysq数据可以通过其访问;
3)此时,在容器内部,会在/etc/hosts文件中用别名创建几个条目,如下:
说明连接成功。
数据库连接池配置:
附:
将自己的web项目部署到tomcat容器方法:
将打包后的war项目推送到宿主机器,然后使用如下命令拷贝到tomcat容器中的webapps目录下:
1 | docker cp myweb.war {web容器 id }: /usr/local/tomcat/webapps/ |
或者直接以挂载的方式让tomcat容器直接获取本地war文件:
1 | docker run -d - v /usr/docker_file/Demo .war: /usr/local/tomcat/webapps/Demo .war -p 8080:8080 tomcat |
以上两种方式建议在测试环境使用,毕竟要经常修改代码 ,下面方式可以放到生产上使用。也是官网建议的方式:
vi Dockerfile
1 2 3 | from tomcat:latest #你的 tomcat的镜像 MAINTAINER XXX@qq.com #作者 (这一步可以不要,在新版本中已经是一个废弃的字段) COPY NginxDemo.war /usr/local/tomcat/webapps #放置到tomcat的webapps目录下 |
然后生成新的镜像:
1 | docker build -t web-demo:v1 . |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)