Docker composer搭建Spring Cloud Alibaba 运行环境(二)
“ Spring Cloud Alibaba要用到的组件很多,注册中心nacos, 限流sentinel, 数据库,网关等等。由于用到的组件相对较多,部署会很繁琐,最关键的是没有资源服务器,所以在开发过程中我会逐渐将一些组件使用docker-compose部署。”
01
—
环境准备
我手上有一台macbook,这次先用mac部署,有机会再写一个ubuntu的,基本差不多。
先晒出mackbook信息,不是高配,硬件配置和这差不多的应该都没问题。
第一部安装docker-toolbox, 阿里云上有个镜像。
http://mirrors.aliyun.com/docker-toolbox/mac/docker-for-mac/stable/
下载,安装。
安装好以后配置一下硬件信息:
这个时候可以试一下,是否安装好了,terminal试一下docker version:
➜ ~ docker version
Client: Docker Engine - Community
Cloud integration 0.1.18
Version: 19.03.13
API version: 1.40
Go version: go1.13.15
Git commit: 4484c46d9d
Built: Wed Sep 16 16:58:31 2020
OS/Arch: darwin/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.13
API version: 1.40 (minimum version 1.12)
Go version: go1.13.15
Git commit: 4484c46d9d
Built: Wed Sep 16 17:07:04 2020
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v1.3.7
GitCommit: 8fba4e9a7d01810a393d5d25a3621dc101981175
runc:
Version: 1.0.0-rc10
GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd
docker-init:
Version: 0.18.0
GitCommit: fec3683
docker-compose version:
➜ ~ docker-compose -version
docker-compose version 1.27.4, build 40524192
正常情况下,我们的环境就全部准备好了,是不是很简单。
当然我们国内的环境(肉身翻墙或者有高速梯子跳过这步)是需要配置一个国内的docker加速器,国内的网速去docker hub下载镜像那得凉凉了。
配置阿里云加速方法如下:
首先申请自己的阿里云私有镜像:
1.登陆阿里云:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
2.进入【控制台】-【镜像仓库】-【镜像中心】-【镜像加速器】
如果找不到菜单就直接搜【镜像仓库】会要求输入密码,输入即可,然后进入【镜像中心】-【镜像加速器】
获得自己的加速地址后:
{
"features": {
"buildkit": true
},
"experimental": false,
"registry-mirrors": [
"https://xxxxxx.mirror.aliyuncs.com"
]
}
重启服务。
用docker info命令查看是否配置成功,看下你的加速地址表示成功:
Registry Mirrors:
https://xxx.mirror.aliyuncs.com/
Live Restore Enabled: false
Docker toolbox安装成功!!
02
—
docker-compse部署Mysql
创建docker文件夹,用于存放相应文件信息,创建docker-compose.yml文件。文件目录如下:
-rw-r--r-- 1 xx staff 1.1K 10 27 22:00 docker-compose.yml
drwxr-xr-x 3 xx staff 96B 10 20 15:22 mysql
编写docker-compose.yml文件如下:
version: "3"
services:
mysql:
container_name: mysql
image: mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD=123456
volumes:
- /Users/xxxx/docker/mysql/data:/var/lib/mysql
ports:
- "3306:3306"
restart: always
启动mysql镜像,输入命令:docker-compose up -d mysql, 运行如下:
➜ docker docker-compose up -d mysql
Creating network "docker_default" with the default driver
Pulling mysql (mysql:5.7)...
5.7: Pulling from library/mysql
bb79b6b2107f: Pull complete
49e22f6fb9f7: Pull complete
842b1255668c: Pull complete
9f48d1f43000: Pull complete
c693f0615bce: Pull complete
8a621b9dbed2: Pull complete
0807d32aef13: Pull complete
6d2fc69dfa35: Pull complete
56153548dd2c: Extracting [=======================================> ] 84.67MB/108.3MB
用docker-compose ps -a 命令查看是否启动成功,看到如下信息说明成功:
➜ docker docker-compose ps -a
Name Command State Ports
----------------------------------------------------------------------------------------------------
mysql docker-entrypoint.sh mysqld Up
0.0.0.0:3306->3306/tcp, 33060/tcp
Mysql安装成功!!
03
—
docker-compse部署Nacos
去github把nacos 的SQL文件下载下来,导入数据库中。
https://raw.githubusercontent.com/alibaba/nacos/develop/distribution/conf/nacos-mysql.sql
用工具导到我们刚搭建好的mysql中:(用本机ip, root/123456, 端口3306)
在docker-compse.yml的后面中加入以下配置:
nacos:
image: nacos/nacos-server:1.1.4
container_name: nacos
environment:
- PREFER_HOST_MODE=hostname
- MODE=standalone
- MYSQL_DATABASE_NUM=1
- SPRING_DATASOURCE_PLATFORM=mysql
- MYSQL_MASTER_SERVICE_HOST=mysql
- MYSQL_MASTER_SERVICE_DB_NAME=nacos
- MYSQL_MASTER_SERVICE_PORT=3306
- MYSQL_MASTER_SERVICE_USER=root
- MYSQL_MASTER_SERVICE_PASSWORD=123456
volumes:
- /Users/xxx/docker/nacos/logs:/home/nacos/logs
ports:
- "8848:8848"
depends_on:
- mysql
restart: always
写好了注意在相应的volumes创建好相应的文件夹
docker-compose up -d nacos
启动nacos
启动完成后通过 http://yourip:8848/nacos/#/login 用nacos/nacos登陆
Nacos安装成功!!
04
—
docker-compse部署sentinel
在docker-compse.yml的后面中加入以下配置:
sentinel:
image: bladex/sentinel-dashboard:latest
container_name: sentinel
ports:
- "8858:8858"
restart: always
运行命令:
➜ docker docker-compose up -d sentinel
启动成功后,http://yourip:8858/ 用户名密码sentinel/sentinel登陆
Sentinel安装成功, 至此前期所需要的组件都安装成功, 万里长征迈出第一步,下期我们继续。
Docker composer搭建Spring Cloud Alibaba 运行环境(二)的更多相关文章
- Spring Cloud Alibaba 实战(十二) - Nacos配置管理
本章主要内容是:使用Nacos管理配置以及实现配置管理的原因,配置如何管理以及动态刷新和最佳实现总结,最后是Nacos配置刷新原理解读 该技术类似于Spring Cloud Config 1 配置管理 ...
- Spring Cloud Alibaba系列(二)nacos作为服务配置中心
Nacos 提供用于存储配置和其他元数据的 key/value 存储,为分布式系统中的外部化配置提供服务器端和客户端支持.使用 Spring Cloud Alibaba Nacos Config,您可 ...
- Spring Cloud Alibaba 初体验(二) Nacos 服务注册与发现 + 集成 Spring Cloud Gateway
一.服务注册 添加依赖: <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>s ...
- 从零搭建Spring Cloud Gateway网关(二)—— 打印请求响应日志
作为网关,日志记录是必不可少的功能,可以在网关出增加requestId来查询整个请求链的调用执行情况等等. 打印请求日志 打印请求日志最重要的就是打印请求参数这些东西,不过RequestBody通常情 ...
- Spring Cloud Alibaba环境搭建
前言:Spring Cloud Alibaba是目前主流的分布式微服务架构,本文主要讲解了在IDEA中如何搭建Spring Cloud Alibaba环境,以及介绍Spring Cloud Aliba ...
- Spring Cloud Alibaba学习笔记
引自B站楠哥:https://space.bilibili.com/434617924 一.创建父工程 创建父工程hello-spring-cloud-alibaba Spring Cloud Ali ...
- Spring Cloud 网关服务 zuul 二
有一点上篇文章忘了 讲述,nacos的加载优先级别最高.服务启动优先拉去配置信息.所以上一篇服务搭建我没有讲述在nacos 中心创建的配置文件 可以看到服务端口和注册中心都在配置文件中配置化 属性信息 ...
- Spring Cloud gateway 网关服务二 断言、过滤器
微服务当前这么火爆的程度,如果不能学会一种微服务框架技术.怎么能升职加薪,增加简历的筹码?spring cloud 和 Dubbo 需要单独学习.说没有时间?没有精力?要学俩个框架?而Spring C ...
- Spring Cloud Alibaba(7)---docker-compose搭建nacos1.4.0集群
docker-compose搭建nacos1.4.0集群 有关Nacos之前写过四篇文章. Spring Cloud Alibaba(3)---Nacos概述 Spring Cloud Alibaba ...
随机推荐
- 论文阅读 A SIMPLE BUT TOUGH-TO-BEAT BASELINE FOR SEN- TENCE EMBEDDINGS
这篇论文提出了SIF sentence embedding方法, 作者提供的代码在Github. 引入 作为一种无监督计算句子之间相似度的方法, sif sentence embedding使用预训练 ...
- Kafka消费与心跳机制
1.概述 最近有同学咨询Kafka的消费和心跳机制,今天笔者将通过这篇博客来逐一介绍这些内容. 2.内容 2.1 Kafka消费 首先,我们来看看消费.Kafka提供了非常简单的消费API,使用者只需 ...
- vue+less换肤,主题切换方案
新的项目对于客户自定义要求很高,然后换肤是其中一个很小的模块,经过了一段时间的摸索,看了许多文章,找到了几种方案. https://www.cnblogs.com/leiting/p/11203383 ...
- 基于Excel参数化你的Selenium2测试-xlrd
本篇文章转载至苦叶子: 前言 今天我们就如何使用xlrd模块来进行python selenium2 + excel自动化测试过程中的参数化进行演示说明,以解决大家在自动化测试实践过程中参数化的疑问 ...
- 034 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 01 流程控制概述
034 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 01 流程控制概述 本文知识点:Java中的流程控制相关概念的认识 三大流程控制语句结构的简介 顺序 ...
- HttpReports 2.0 发布了 !!!
前言介绍 HttpReports 是基于.Net Core 开发的APM监控系统,使用MIT开源协议,主要功能包括,统计, 分析, 可视化, 监控,追踪等,适合在微服务环境中使用. Github地址: ...
- Python基础笔记1-Python读写yaml文件(使用PyYAML库)
最近在搭建自动化测试项目过程中经常遇到yaml文件的读写,为了方便后续使用,决定记下笔记. 一,YAML 简介 YAML,Yet Another Markup Language的简写,通常用来编写项目 ...
- mycat的privileges标签
参考https://blog.csdn.net/tornadojava/article/details/54948662 privileges标签 对用户的 schema以及表进行精细化的DML权限控 ...
- 第四届58topcoder编程大赛--地图路径规划
layout: post title: 第四届58topcoder编程大赛 subtitle: 58ACM catalog: true tags: - A* 算法 - C++ - 程序设计 问题及背景 ...
- python的PEP8代码规范
一.缩进:每级缩进用4个空格.如果缩进不正确或缩进格式不统一,一般错误信息会明确告诉你,但有时也会出现invalid syntax报错.所谓缩进不正确,python的缩进是四个空格或一个TAB,如果缩 ...