1. 拉取镜像
docker pull mysql
2. 把容器的3306端口映射到主机上
docker run -p 3306:3306 --name ed_mysql mysql
3. 进入容器
docker exec -it 8e08b2d49b85 /bin/bash
4. 进入mysql
mysql -uroot -p
5. 创建education数据库
CREATE DATABASE education;
1. docker pull tomcat
拉取tomcat镜像
2.docker run -it -d -p 6789:8080 tomcat
把容器的8080映射到服务器的6789端口
或者docker run -it -d -p 8889:8080 -v /usr/local/software/gelingeducation:/usr/local/tomcat/webapps/ --privileged=true tomcat
顺便把文件也映射了,这样就可以通过idea直接更新项目,节省上传的步骤
3. docker exec -it 8e08b2d49b85 /bin/bash
进入容器,8e08b2d49b85 为容器的id
4.cd /usr/local/tomcat/conf
进入目录
vim /conf/server.xml
打开server.xml文件
5.在server.xml 的 Host节点下新增Context 节点配置 保存并退出
path:指定访问该Web应用的URL入口。
docBase:指定Web应用的文件路径,可以给定绝对路径,也可以给定相对于的appBase属性的相对路径,如果Web应用采用开放目录结构,则指定Web应用的根 目录,如果Web应用是个war文件,则指定war文件的路径。
reloadable:如果这个属性设为true,tomcat服务器在运行状态下会监视在WEB-INF/classes和WEB-INF/lib目录下class文件的改动,如果监测到有class文 件被更新的,服务器会自动重新加载Web应用。
6.把打包出来的war文件上传到服务器,再通过
docker cp /opt/gelingeducation 8e08b2d49b85 :/usr/local/tomcat/webapps/
复制到容器
7.docker restart 8e08b2d49b85
重新启动tomcat
1.docker pull nginx
拉取nginx镜像
2.docker run -d --name gelingeducationnginx -p 7789:80 nginx
运行run镜像,并把80端口映射到服务器的7789端口
在浏览器输入ip:7789查看nginx服务器是否运行成功
3.把打包好的vue前端代码(具体打包流程看前端github的remark)复制到容器的/usr/share/nginx/html下,注意是把打包出来的dist下所有文件复制到html下,(如果是映射路径的,记得去把容器里的html下文件删除掉,不然好像不会替换)
4.docker restart 容器id
重启容器
5.重新在浏览器输入ip:7789查看是否部署成功
6. 如果发现前端所有的请求都是403
编辑容器的/etc/nginx/nginx.conf,把里面的user nginx;改成user root;