主要用于开发阶段,不涉及生产环境配置,无权限自行添加sudo
Redis
- 获取镜像
1
docker pull redis
- 运行Redis
1
docker run -p 6379:6379 -d redis:lastes redis-server
Elasticsearch(集群)
- 说明:
- 这里这里使用的是Elasticsearch 7.3.0版本
- 集群一共有3个Container,一个Master,两个Slave
- 配置文件中的
192.168.2.58
为对应节点的IP地址 - 具体配置:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16Elasticsearch集群
|------ Master
|--- 端口:9500
|--- TCP端口:9300
|--- 配置文件目录:~/var/elasticsearch/config/master/elasticsearch.yml
|--- 共享卷目录:~/var/elasticsearch/config/master/data
|------ Slave1
|--- 端口:9600
|--- TCP端口:9301
|--- 配置文件目录:~/var/elasticsearch/config/slave1/elasticsearch.yml
|--- 共享卷目录:~/var/elasticsearch/config/slave1/data
|------ Slave2
|--- 端口:9700
|--- TCP端口:9302
|--- 配置文件目录:~/var/elasticsearch/config/slave2/elasticsearch.yml
|--- 共享卷目录:~/var/elasticsearch/config/slave2/data
- 获取镜像
1
docker pull elasticsearch:7.3.0
- 在宿主机创建各个节点的
elasticsearch.yml
配置文件,具体内容如下:- Master节点,配置文件路径:
~/var/elasticsearch/config/master/elasticsearch.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19# 设置支持Elasticsearch-Head
http.cors.enabled: true
http.cors.allow-origin: "*"
# 设置集群Master配置信息
cluster.name: myEsCluster
# 节点的名字,一般为Master或者Slave
node.name: master
# 节点是否为Master,设置为true的话,说明此节点为Master节点
node.master: true
# 设置网络,如果是本机的话就是127.0.0.1,其他服务器配置对应的IP地址即可(0.0.0.0支持外网访问)
network.host: 0.0.0.0
# 设置对外服务的Http端口,默认为 9200,可以修改默认设置
http.port: 9500
# 设置节点间交互的TCP端口,默认是9300
transport.tcp.port: 9300
# 手动指定可以成为Master的所有节点的Name或者IP,这些配置将会在第一次选举中进行计算
cluster.initial_master_nodes: ["master"]
# 集群发现节点信息,一般为其他节点IP加交互端口,这里一般填主机IP
discovery.seed_hosts: ["192.168.2.58:9301", "192.168.2.58:9302"] - Slave1节点,配置文件路径:
~/var/elasticsearch/config/slave1/elasticsearch.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14# 设置集群Slave配置信息
cluster.name: myEsCluster
# 节点的名字,一般为Master或者Slave
node.name: slave1
# 节点是否为Master,设置为true的话,说明此节点为master节点
node.master: false
# 设置对外服务的Http端口,默认为 9200,可以修改默认设置
http.port: 9600
# 设置节点间交互的TCP端口,默认是9300
transport.tcp.port: 9301
# 设置网络,如果是本机的话就是127.0.0.1,其他服务器配置对应的IP地址即可(0.0.0.0支持外网访问)
network.host: 0.0.0.0
# 集群发现节点信息,一般为其他节点IP加交互端口,这里一般填主机IP
discovery.seed_hosts: ["192.168.2.58:9300", "192.168.2.58:9302"] - Slave2节点,配置文件路径:
~/var/elasticsearch/config/slave2/elasticsearch.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14# 设置集群Slave配置信息
cluster.name: myEsCluster
# 节点的名字,一般为Master或者Slave
node.name: slave2
# 节点是否为Master,设置为true的话,说明此节点为master节点
node.master: false
# 设置对外服务的Http端口,默认为 9200,可以修改默认设置
http.port: 9700
# 设置节点间交互的TCP端口,默认是9300
transport.tcp.port: 9302
# 设置网络,如果是本机的话就是127.0.0.1,其他服务器配置对应的IP地址即可(0.0.0.0支持外网访问)
network.host: 0.0.0.0
# 集群发现节点信息,一般为其他节点IP加交互端口,这里一般填主机IP
discovery.seed_hosts: ["192.168.2.58:9300", "192.168.2.58:9301"]
- Master节点,配置文件路径:
- 创建3个节点的
data
文件夹1
2
3~/var/elasticsearch/config/master/data
~/var/elasticsearch/config/slave1/data
~/var/elasticsearch/config/slave2/data - 运行节点
- 运行Master节点
1
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -v ~/var/elasticsearch/config/master/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v ~/var/elasticsearch/config/master/data:/usr/share/elasticsearch/data --name esMaster -p 9500:9500 -p 9300:9300 elasticsearch:7.3.0
- 运行Slave1节点
1
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -v ~/var/elasticsearch/config/slave1/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v ~/var/elasticsearch/config/slave1/data:/usr/share/elasticsearch/data --name esSlave1 -p 9600:9600 -p 9301:9301 elasticsearch:7.3.0
- 运行Slave2节点
1
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -v ~/var/elasticsearch/config/slave2/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v ~/var/elasticsearch/config/slave2/data:/usr/share/elasticsearch/data --name esSlave2 -p 9700:9700 -p 9302:9302 elasticsearch:7.3.0
- 运行Master节点
- 检查运行状态
- 运行
docker ps
查看正在运行的Container,确保以上3个容器正常运行 - 访问
http://127.0.0.1:9500/_cat/nodes?v
查看是否有3个节点信息,如果节点运行正常,应该有如下信息1
2
3
4ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
172.17.0.2 32 96 70 3.03 0.82 0.28 di - slave1
172.17.0.3 30 96 70 3.03 0.82 0.28 di - slave2
172.17.0.4 33 96 70 3.03 0.82 0.28 dim * master
- 运行
- 安装
Elasticsearch-Head
运行成功后浏览器访问链接:1
docker run -d --name es-head -p 9100:9100 mobz/elasticsearch-head:5
http://127.0.0.1:9100
,将里面的连接地址修改为:http://localhost:9500
,保存即可看到3个节点的集群信息 - 安装
IK
分词软件- 这部分操作3个节点均需要操作一边
- ElasticSearch版本为7.3.0,对应IK分词版本为7.3,下载链接IK分词
- 具体操作就是将下载下来的包放在各个节点的共享卷里,然后进入ES容器内命令行,解压并将文件拷贝到plugins文件夹中,重启容器
RabbitMq
- 获取镜像
1
docker pull rabbitmq:management
- 运行镜像,设置用户名密码(admin/admin)
1
docker run -dit --name Myrabbitmq -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 rabbitmq:management
- 进入管理界面
http://localhost:15672
SqlServer 2017
- 获取镜像
1
docker pull mcr.microsoft.com/mssql/server:2017-latest
- 运行镜像,设置
SA
密码为Today_is_20200328
1
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Today_is_20200328" -p 1433:1433 --name mssql -d mcr.microsoft.com/mssql/server:2017-latest