docker实战:部署ssm项目
1.mysql5.7
1.1.配置mysql5.7容器
#拉取mysql
[root@localhost ~]# docker pull mysql:5.7
#创建容器
#-d后台运行mysql
#-p端口映射3310:3306(Linux主机:mysql),注意项目中数据库mysql的ip和端口分别改为Linux主机ip和3310
#-v挂载目录(Linux主机:mysql)
#-e运行mysql要配置密码,账号为root
#--name 容器名 镜像名:版本(不加版本又会拉取最新的)
[root@localhost ~]# docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7
1.2.导入sql脚本
1.2.1.使用navicat工具连接mysql容器:
1.2.2.运行sql脚本:
2.tomcat
#拉取tomcat
[root@localhost ~]# docker pull mysql:5.7
#创建容器
#-p端口映射3355:8080(Linux主机:tomcat),注意:最后访问的时候就是用3355端口
[root@localhost ~]# docker run -d -p 3355:8080 --name tomcat_shop tomcat
#以交互的方式进入容器
[root@localhost ~]docker exec -it tomcat_ssm /bin/bash
#webapps默认为空,复制/usr/local/tomcat/webapps.dist/*到/usr/local/tomcat/webapps就可以访问tomcat默认主页
#注意webapps下的目录出了主页ROOT要被项目重命名为ROOT替换为,其他一律不能动
root@7a8ff5f86b48:/usr/local/tomcat# cp -r webapps.dist/* webapps
3.修改项目相关中间件的ip和port配置
我这里只用了mysql
4.打包项目(记得重命名为ROOT.war)
打包后的项目的物理地址为:
5.利用FlashFXP上传到Linux
直接上传到Linux主机的/home目录下:
6.使用docker命令将ROOT.war复制到容器的/usr/local/tomcat/webapps
下
#docker cp 源文件 容器id:目标目录
#使用docker命令复制,ROOT.war会自动解压
[root@localhost home]# docker cp ROOT.war 7a8ff5f86b48:/usr/local/tomcat/webapps
7.重启tomcat容器
[root@localhost home]# docker restart 7a8ff5f86b48
8.此时就可以使用Linux的ip:tomcat映射给Linux的端口
访问了
9.出现问题(图片加载不出来)
如有解决的方法,敬请告知
10.使用Linux IP:tomcat port/项目名访问
补上,更简洁的方式就是不用重命名打包后的文件,直接复制进去,使用Linux IP:tomcat port/项目名
访问,如下
11.注意
1.重新开启虚拟机的时候,需要创建docker容器,systemctl start docker
2.启动项目的时候要确保所有中间件都创建了容器