1 安装Docker
yum install -y yum-utils device-mapper-persistent-data lvm2 //安装必要工具
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo //设置yum源
yum install -y docker-ce //下载docker
systemctl start docker //启动docker
2 安装mysql
docker pull mysql:8.0.27 //下载MySQL镜像
docker run --name mysql --restart=always -p 3306:3306 -e MYSQL_ROOT_PASSWORD=密码 -d mysql //启动MySQL
3 安装tomcat
这里遇到一个大坑,tomcat不能像mysql一样,pull下来最新版本,因为兼容性的缘故,在tomcat8,9版本下开发的项目,是无法在tomcat10版本下运行的,而我们使用pull方式会安装tomcat10,所以这里我们需要指定我们要的版本!
docker pull tomcat:9-jre8-alpine //下载指定版本
docker run -d -it --name tomcat -p 8080:8080 tomcat:9.0.16-jre8-alpine
如何修改docker中tomcat端口号
如何修改docker中tomcat端口号
exec进入tomcat
vi server.xml
重启进程 docker restart 进程号
如何向 tomcat里丢东西
docker cp 文件名 进程号:/usr/local/tomcat
4 Navicat远程连接数据库
默认用户名为root,密码是上面写的 MYSQL_ROOT_PASSWORD=密码
二、原因
由于目前已有的客户端连接软件还不支持Mysql8新增加的加密方式:caching_sha2_password
所以我们需要修改用户的加密方式,将其改为老的加密验证方式:mysql_native_password
三、解决方法
exec命令进入数据库容器后,执行如下命令即可:
#登录
mysql -uroot -p
#选择数据库
use mysql;
# 注意:如果是远程连接,请将'localhost'换成'%'
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的数据库密码';
#刷新权限
FLUSH PRIVILEGES;
再次进行Navicat连接,便可以成功连接上!
[
](https://blog.csdn.net/MrRight000/article/details/121754066)
5 把项目打成war包
1.Java的打包方式jar、war、ear包的作用、区别:
- jar:通常是开发时要引用通用(JAVA)类,打成包便于存放管理;
- war:是做好一个(web)应用后,通常是网站,打成包部署到容器中;
- ear: 企业级应用,实际上EAR包中包含WAR包和几个企业级项目的配置文件而已,一般服务器选择WebSphere等,都会使用EAR包。通常是EJB打成ear包。
2.war包组成部分: 一是WebContent,二是classess。
- WebContent目录代表其是一个web项目, 主要存放的是前端代码、Web.xml、lib等文件.
- classes目录是编译过后的java文件的二进制文件.( .class ) 后台逻辑都是由这里管控.
注:
WebContent目录里面有一个名为WEB-INF的文件夹,我们将classess文件放入这个文件夹,再将整个WebContent目录进行打包,就形成了我们在tomcat发布时使用的war包。
、
apply => ok
6 把war包放入tomcat的webapps内
docker ps -a//查看war包的的进程号
docker cp /home/war包地址 0c144708a6ae:/usr/local/tomcat/webapps
7 测试 路径/项目名/接口