-
安装docker
参考官网
https://docs.docker.com/engine/install/centos/-
卸载旧版docker
sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
-
安装docker
- 安装需要的软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
- 设置yum源(选择一个即可,阿里的镜像会快一点)
yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 安装docker-ce(社区版)
sudo yum install docker-ce docker-ce-cli containerd.io
-
启动docker
sudo systemctl start docker
-
查看docker版本
docker -v
至此docker安装完毕
- 安装需要的软件包
-
-
docker部署mysql
- 搜索mysql版本,选择需要的版本
docker search mysql
- 拉取mysql镜像,我使用的是mysql8,直接下载默认的latest版本即可
docker pull mysql
- 查看镜像命令
docker images
- 创建并运行mysql容器
docker run -d --name myMysql -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql
- 查看容器命令
docker ps -a
- 与容器交互,进入容器的/bin/bash终端
docker exec -t -i myMysql /bin/bash
- 登录mysql
mysql -u root -p
- 设置允许外部访问
# 选择mysql数据库 user mysql; # 查看user表 select host,user from user; # 更新user表中root用户域属性,'%'表示允许外部访问 update user set host='%' where user ='root'; # 刷新权限 FLUSH PRIVILEGES; # 执行授权语句 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION; # 再次查看user表 select host,user from user;
root 对应的是%即可。
- Ctrl+D或者输入'exit'退出容器
- 启动创建的mysql容器
docker start myMysql
-
使用Navicat测试连接,IP地址填服务器地址,测试连接成功(没成功就百度多搜几篇教程,比如在安全开放开3306端口,我更新了好几次user表才连接成功)
mysql环境配置完毕
- 搜索mysql版本,选择需要的版本
-
docker部署tomcat
- 拉取镜像,不建议使用latest的tomcat10的版本,tomcat版本选择和项目的大版本相同即可
docker pull tomcat:8
-
运行tomcat容器,并进入容器内部进行测试
docker run --name tomcat01 -p 8080:8080 -d tomcat:8 docker exec -it tomcat01 /bin/bash
查看文件目录,发现webapps目录下没有文件,ROOT文件在webapps.dist下
-
只需要回到tomcat目录,拷贝webapps.dist目录下的文件到webapps目录就行啦
cp -r webapps.dist/* webapps/
-
浏览器输入ip地址:8080,即可访问到tomcat主页
-
exit退出tomcat容器,停止并删除文件,重新创建一个tomcat容器到/data目录并进入容器,重新拷贝webapps.dist目录下的文件到webapps目录
exit docker stop tomcat01 docker rm tomcat01
docker run --privileged=true -v /data/tomcat:/usr/local/tomcat -p 8080:8080 --name tomcat01 -d tomcat:8 docker exec -it tomcat01 /bin/bash cd tomcat cp -r webapps.dist/* webapps/
-
使用maven将ssm项目打成war包,用xftp或者宝塔面板上传到云服务器,更名成ROOT.war
- 拷贝war包到webapps目录,war包会自动解压并覆盖掉原来的ROOT目录
cp /home/ROOT.war /data/tomcat/webapps
- 重新访问即可
- 拉取镜像,不建议使用latest的tomcat10的版本,tomcat版本选择和项目的大版本相同即可
注意事项:
- 记得开放相应的安全组,3306,8080
- 注意端口占用问题,解决方案
用Docker在云服务器上快速安装tomcat,部署SSM项目_passerbyYSQ的博客-CSDN博客_docker部署ssm - docker查看容器日志命令,我被404卡了一整天,最终通过查看tomcat日志发现是版本不合适,更改成tomcat8
docker logs 容器id
参考博客:
用Docker在云服务器上快速安装tomcat,部署SSM项目_passerbyYSQ的博客-CSDN博客_docker部署ssm