项目运行在服务器上的配置,将本地运行的spring项目,部署到服务器上

目标是:将本地运行的spring项目,部署到服务器上

为什么使用docker?

环境隔离 服务器上,各种环境交杂,使用docker,能清楚的把各个项目进行隔离,不单维护的人员方便,也会省去很多维护这些项目交杂的时间。

真的是太轻量 每个docker是构建于一层一层的结构之上的,变化的只是这一层一层的变化的部分,docker的大小也非常之小

下载方便,想要获得一个镜像,只要pull一下就好了,和git的使用差不多哦

部署前提:

mysql文件,mysql关联文件,war包,传到服务器上,我传入的地址为/var/supplychain/ 别问我为什么要传到这里,我领导让的。

我的部署流程

docker mysql部署

建立docker 数据库:

docker run -di --name scf_mysql -p 33306:3306 \

-v /var/supplychain/image:/var/supplychain/image -e MYSQL_ROOT_PASSWORD=123456 mysql \

--lower_case_table_names=1 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

参数说明:

-d

后台执行

-i

开控制台交互

--name

为这个开启的容器,命名

-p

进行端口映射,将宿主机的33306端口映射到容器的3306

-v

挂载宿主机/var/supplychain/image/这个目录到容器的/var/supplychain/image/目录

-e

指定容器的环境变量,这里是指定的mysql容器中mysql的密码为123456

--lower_case_table_names=1

忽略数据表名的大小写,这是个深坑哦,踩了2天

--character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

设置中文编码格式为utf8

刷入表数据

docker cp /var/supplychain/j.sql 容器ID:/ #将j.sql拷贝到容器的根目录下

docker exec -it scf_mysql /bin/bash/ #进入容器的交互环境

mysql -uroot -p #进入mysql

create database julonglian;

use julonglian;

source /j.sql

对表用户进行授权

对于mysql5来说:

grant all privileges on julonglian.* to 'why'@'%' identified by '123456';

flush privileges;

对于mysql8来说:

创建账户:create user ‘why’@’%’ identified by ‘123456’;

赋予权限:grant 权限列表 on 数据库 to ‘用户名’@’访问主机’ ;(修改权限时在后面加with grant option)

flush privileges;

docker tomcat部署

docker run -d -p 7608:8080 --name supplychain -v /var/supplychain/image:/var/supplychain/image -v /var/supplychain/server.xml:/usr/local/tomcat/conf/server.xml tomcat

为解决的事是:不知道为什么server.xml 挂载不上去,只要挂载这个,就启动不了,看来只能拷贝了

为什么要改这个呢?有时候,需要项目的上下文根路径修改为/,所以就需要动这个配置文件

tomcat8是在这个文件中,加入

server.xml :

修改上下文根路径

拷贝过去:

sudo docker cp /var/supplychain/server.xml 容器ID:/usr/local/tomcat/conf/server.xml 不同版本可能server.xml放的位置不一样,具体去容器里面看看

进入容器

cd webapps/ROOT/

rm -rf *

cd ..

mv 项目war包和解压的文件 ROOT/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值