700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > docker-compose(容器编排)部署前后端分离springcloud+vue项目

docker-compose(容器编排)部署前后端分离springcloud+vue项目

时间:2021-08-30 22:52:00

相关推荐

docker-compose(容器编排)部署前后端分离springcloud+vue项目

使用docker-compose去部署项目有如下步骤

1.打包好的jar包,dist文件

2.每个jar包,dist文件对应的dockerFile文件

3.docker-compose.yml文件

4.使用docker-compose up命令构建并启动容器

下面是详细说明

1.

①jar包的dockerFile文件,每个命令详细解释在上篇文章中

②dist文件的dockerFile文件,每个命令详细解释,以及nginx.conf怎么修改在上上篇文章中

2.docker-compose.yml文件,注意yml文件不能使用tab而只能用空格

version: '3'services:registery-center:build:context: .dockerfile: registerrestart: alwayshostname: registry-centerports: - 9000:9000deploy:resources:limits:memory: 1024Mupms-service:build:context: .dockerfile: upmsrestart: alwaysdepends_on:- registery-centerports:- 9003:9003deploy:resources:limits:memory: 1024Mauth-service:build: context: .dockerfile: authrestart: alwaysdepends_on:- upms-serviceports:- 9002:9002deploy:resources:limits:memory: 1024Mmaterials-service:build:context: . dockerfile: materialsrestart: alwaysdepends_on:- auth-serviceports: - 9009:9009deploy:resources:limits:memory: 1024Mhardware-service:build:context: . dockerfile: hardwarerestart: alwaysdepends_on:- materials-serviceports: - 9008:9008deploy:resources:limits:memory: 1024Mapi-gateway:build: context: .dockerfile: apigatewayrestart: alwaysdepends_on:- materials-serviceports: - 9010:9010deploy:resources:limits:memory: 500Mweb:build: context: .dockerfile: nginxrestart: alwaysports:- 8000:8000deploy:resources:limits:memory: 500M

下面详细解释

services下面是所有的服务也就是要构建的容器registery-center、upms-service这些都是自定义的服务名称,和jar包对应即可(当然前端就命名为web即可)build构建命令,下面的context:是指要用的dockerfile在哪个目录下,我这里就在本级目录下,有了目录之后,dockerfile:后面跟的是要用的dockerfile名称restart:always,服务挂掉一直重启hostname: 这里的话注册中心一定要配置这个,因为项目中是根据域名去找ip地址的,而且这个hostname一定要和项目中注册中心的一样ports,暴露端口出来,供外界访问deploy:resources:limits:memory:xxxxM,为的是限制各个容器的内存占用上限(在加了这个之后,启动时需要加上 --compatibility这个参数,即

docker-compose --compatibility up)

当然在启动docker-compose --compatibility up命令之前,要把数据库服务启动起来

docker run -p 3306:3306 --name myMysql -v /usr/local/work/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.26 --lower_case_table_names=1

最后–lower_case_table_names=1是为了让MySQL不再区分大小写,这里需要注意的是表的名需全部为小写这个命令参数才能生效。(目前还有一些查询语句group by 有问题,不知道是sql语句有问题还是什么原因,在查)

接下来docker-compose up 就可以构建并启动项目了

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。