开发者社区> garwer> 正文

Docker基本概念与实践(四)-部署简单web项目(tomcat+war+mysql)

简介: Docker简单部署web项目(tomcat+war包+mysql) 先简单测试单独运行tomcat项目 #启用tomcat8镜像命名为webapp,将容器的8080端口映射到主机的8080端口 docker run -p 8080:8080 --...
+关注继续查看

Docker简单部署web项目(tomcat+war包+mysql)

先简单测试单独运行tomcat项目
#启用tomcat8镜像命名为webapp,将容器的8080端口映射到主机的8080端口
docker run -p 8080:8080 --name webapp -d tomcat:8
img_09792ca37f107d14f6dd68f619cc9d01.png
单纯启动tomcat
将项目放入tomcat运行
#进入刚刚用tomcat8镜像运行的容器,并关闭容器内tomcat服务,进入容器内的bin目录
docker exec -it webapp /bin/bash

#进入tomcat的bin目录 关闭
sh shutdown.sh 

#将宿主机的war包传到tomcat容器的webapp下 -> docker cp 本地文件路径 容器名/id:容器路径
docker cp /usr/local/war/linjw.war webapp:/usr/local/tomcat/webapps

docker start webapp
img_4eb60a5cd60f038404617b4687020554.png
将war包导入tomcat容器内
img_8168cd68ad1eebf0c179263d48c8a374.png
添加mysql镜像
#后台启动一个mysql5.7镜像 映射宿主机3308端口 设置密码garwer 如果本地无该镜像将从官方拉取
docker run -d -p 3308:3306 -e MYSQL_ROOT_PASSWORD=garwer -e MYSQL_DATABASE=garwer mysql:5.7
【这种启动方式有个弊端,可以测试访问mysql成功后,在里面创建一张表退出,停止容器后再重启,数据就丢失了
正确的姿势是:挂载一个本地文件到容器,以此保证mysql容器数据的持久化(还可以根据需要mysql的配置文件,这边仅挂载数据) -v 前面为宿主机路径 后为容器路径
--privileged=true给容器加上特定权限 否则挂载的时候会报权限错误 宿主机会自动创建/usr/local/mysql-docker/data路径文件 这边因为因为外部占用我用3308 可自行调整端口
】
docker run -d -p 3308:3306 --name garwer-mysql --privileged=true -e MYSQL_ROOT_PASSWORD=garwer -e MYSQL_DATABASE=garwer -v /usr/local/mysql-docker/data:/var/lib/mysql mysql:5.7
 
#进入容器查看是否创建了garwer数据库 密码是否为garwer fcfdc2743ebe为我的容器id
docker exec -it fcfdc2743ebe /bin/bash

#登陆测试
mysql -uroot -p
img_458b3189d30c3fd0d6236512d65d266f.png
用mysql.5.7镜像运行mysql容器
img_074f0173f2be396ef733e629e224a4e2.png
进入容器测验
img_2daef839c28aaddd5745adda67093d08.png
测试访问
img_4590a58c4f81e46f9452f5d4cf3c9f78.png
挂载数据文件到本地测试
img_616e80f64d796c759254c7338b9cde5c.gif
访问成功

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
关于云Linux部署tomcat服务器(Maven的多模块war包)
  博主的运行环境:   电脑系统:   Linux mint 18   JDK版本:  java version "1.8.0_171"   Maven版本:   Apache Maven 3.
2360 0
阿里云服务器下Tomcat部署Web项目
3一、阿里云服务器下部署项目 1.登录linux服务器 2.下载mysql、tomcat、jdk 并安装 3.项目打成war包,并放置在tomcat下的webapps下 二、阿里云服务器开放访问端口 1.登录阿里云服务器管理控制台 2.点击进入云服务器ECS实例列表,如图: 3.点击右侧更多按钮,配置ip安全组 4.这里配置有80端口(http默认访问端口),443端口(https默认访问端口),3306端口(mysql访问端口) 5.配置完后浏览器输入ip+项目路径就可以访问了(ps:此处tomcat有端口配置,下文会提到)。
5597 0
一个JavaWeb项目中使用的部分技术
-- 2015年8月8日1. Web框架: Spring+ SpringMVC + MyBatis Spring: 作为容器,工厂,用于解耦以及管理对象生命周期。 整合各类框架和依赖。 MVC  : 配置,文档与源码结合在一起,减轻开发工作量,易维护,易测试. MyBatis: 灵活稳定,自由度高,与代码生成器结合使用,易集成,易开发,代码可读性良好。
1048 0
idea操作maven指令启动springboot项目
idea操作maven指令启动springboot项目
3645 0
我的第一个extjs desktop + jsp +mysql实战练习项目
一直使用asp.net+mssql 花了二周时间,边学边做,把一个ms sql server +asp.net + extjs desktop 改造为  mysql + jsp + extjs desktop 的项目,界面如下,以为纪念: ...
1060 0
走进JavaWeb技术世界12:从手动编译打包到项目构建工具Maven
本文出自我的公众号:程序员江湖。 满满干货,关注就送。 小李的Build之路(上) 转自: 刘欣 码农翻身 2016-07-10 摘要:手工Build的烦恼要不是为了和女朋友留在一个城市,小李肯定去北上广奋斗去了。
1707 0
android 线上项目 MysqlConsole
  http://shouji.baidu.com/software/9835321.html   开发工具,手机端查询mysql数据库 *查看数据库,表,数据 注意:本地mysql需要分享无限网络连接,阿里数据库,需要连接数据流量不支持代理 ssl   表数据 可以左右滑动查看所有属性                        捐助开发者 在兴趣的驱动下,写一个免费的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。
733 0
Visual Studio 2010 起始页中 不显示最近使用的项目问题,解决办法
最近新装了vs2010,发现打开vs2010 后 起始页面中的最近使用的栏目中 并未显示最近加载的项目 解决办法如下: 运行 regedit 打开下面的键值: HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Policie...
510 0
+关注
garwer
me.garwer.cn
22
文章
2
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载