没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
Docker Compose 介绍
使用微服务架构的应用系统一般包含若干个微服务,每个微服务一般都会部署多个实例。
如果每个微服务都要手动启停,那么效率之低、维护量之大可想而知。本节课将讨论如何
使用 Docker Compose 来轻松、高效地管理容器。为了简单起见将 Docker Compose
简称为 Compose。
Compose 是一个用于定义和运行多容器的 Docker 应用的工具。使用 Compose,你可以
在一个配置文件(yaml 格式)中配置你应用的服务,然后使用一个命令,即可创建并启动
配置中引用的所有服务。下面我们进入 Compose 的实战吧
用 Docker Compose 编排 Spring Cloud 电商项目微服务
如果微服务较多,则可以用 docker compose 来统一编排,接下来我们用
docker compose 来统一编排电商项目的五个微服务:tulingmall-authcenter,
tulingmall-gateway,tulingmall-member,tulingmall-order,tulingmall-
product
编排电商项目依赖环境
1、创建一个空目录 docker-mall
2、在 docker-mall 目录下新建一个编排文件 docker-compose-env.yml,内容如下:
version: '3.8'
services:
mysql:
image: mysql:5.7
container_name: mysql
command: mysqld --character-set-server=utf8mb4 --collation-
server=utf8mb4_unicode_ci #覆盖容器启动后默认执行的启动 mysql 命令
restart: always #关机或者重启机器时,docker 同时重启容器,一般 mysql 服务可以
这么设置,保持服务一直都在
environment:
MYSQL_ROOT_PASSWORD: root #设置 root 帐号密码
ports:
- 3306:3306
volumes:
- /mydata/mysql/data/db:/var/lib/mysql #数据文件挂载
- /mydata/mysql/data/conf:/etc/mysql/conf.d #配置文件挂载
- /mydata/mysql/log:/var/log/mysql #日志文件挂载
redis:
image: redis:5.0
container_name: redis
command: redis-server --appendonly yes
volumes:
- /mydata/redis/data:/data #数据文件挂载
ports:
- 6379:6379
rabbitmq:
image: rabbitmq:3.7.25-management
container_name: rabbitmq
volumes:
- /mydata/rabbitmq/data:/var/lib/rabbitmq #数据文件挂载
- /mydata/rabbitmq/log:/var/log/rabbitmq #日志文件挂载
ports:
- 5672:5672
- 15672:15672
elasticsearch:
image: elasticsearch:6.4.0
container_name: elasticsearch
environment:
- "cluster.name=elasticsearch" #设置集群名称为 elasticsearch
- "discovery.type=single-node" #以单一节点模式启动
- "ES_JAVA_OPTS=-Xms512m -Xmx512m" #设置使用 jvm 内存大小,稍微配置大
点,不然有可能启动不成功
volumes:
- /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins #插件文件挂载
- /mydata/elasticsearch/data:/usr/share/elasticsearch/data #数据文件挂载
ports:
- 9200:9200
- 9300:9300
kibana:
image: kibana:6.4.0
container_name: kibana
links: #同一个 compose 文件管理的服务可以直接用服务名访问,如果要给服务取别
名则可以用 links 实现,如下面的 es 就是 elasticsearch 服务的别名
- elasticsearch:es #可以用 es 这个域名访问 elasticsearch 服务
depends_on:
- elasticsearch #kibana 在 elasticsearch 启动之后再启动
environment:
- "elasticsearch.hosts=http://es:9200" #设置访问 elasticsearch 的地址
ports:
- 5601:5601
logstash:
image: logstash:6.4.0
container_name: logstash
volumes:
- /mydata/logstash/logstash-
springboot.conf:/usr/share/logstash/pipeline/logstash.conf #挂载 logstash 的配置
文件,docker 对单个文件的挂载需要先在宿主机建好对应文件才能挂载成功
depends_on:
- elasticsearch #kibana 在 elasticsearch 启动之后再启动
links:
剩余24页未读,继续阅读
30岁老阿姨
- 粉丝: 8750
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Qt+opencv+C++实现图像旋转+自动&&手动+直线检测,角度计算+界面操作+源码(期末大作业&课程设计&项目开发)
- 基于servlet的简单游戏管理系统
- matlab基于混沌系统的图像加密.zip
- Fortran语言教程,详细地介绍了Fortran语言
- (函数)图论中最短路径计算D算法MATLAB源代码,修改网络上D算法的错误,并编写通用的MATLAB函数.rar
- 基于matlab 2Dijkstra最短路径算法的matlab程序,希望对大家有所帮助.zip
- python入门学习,基础语法,用法等.zip
- Swift代码转换指南(Swift Swift Code Convension Guide .)
- Python入门到精通.zip
- 基于QT+C++开发的炫酷九宫格主界面+源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论10