Docker部署镜像(二)
文章目录
前言
延续上一篇文章,本文将介绍一些稍微少用一点的环境部署。
一、部署镜像
1.Cerebro
docker pull lmenezes/cerebro
docker run --name cerebro -p 9000:9000 -d lmenezes/cerebro
说明:
Cerebro是对于ElasticSearch的可视化工具之一,可以执行相应的API操作以及统计结点信息等。需要注意的是,首页的连接IP地址不能直接访问localhost和127.0.0.1,需要完整输入公网IP,such as: http://192.168.23.1:9200
2.Zookeeper
docker pull zookeeper
docker run --privileged=true -d --name zookeeper --publish 2181:2181 -d zookeeper
–publish与-p一致
3.Elasticsearch-head
docker pull docker.io/mobz/elasticsearch-head:5
docker run -d --name es_admin -p 9100:9100 mobz/elasticsearch-head:5
4.MSSQL
docker pull mcr.microsoft.com/mssql/server
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Aa123456" -p 1433:1433 --name mssql -d mcr.microsoft.com/mssql/server
说明:
ACCEPT_EULA = Y(表示接受最终用户许可协议,否则无法启动)
SA_PASSWORD = <强密码> (密码必须符合复杂密码要求,包含大小写字母以及数字或特殊符号,长度不能少于8个字符,否则无法启动)
同时部署MSSQL至少需要2G运行内存
5.Sentinel
docker pull bladex/sentinel-dashboard
docker run -p 8858:8858 --name sentinel -d bladex/sentinel-dashboard
6.Seata
docker pull seataio/seata-server
docker run -d --restart always --name seata -p 8091:8091 -v /usr/local/docker/seata:/seata-server -e SEATA_IP=192.168.23.1 -e SEATA_PORT=8091 seataio/seata-server
说明:
–restart:重启模式 always:总是尝试重启
SEATA_IP:指定seata-server启动的IP,该IP用于向注册中心注册时使用
SEATA_PORT:指定seata-server启动的端口
Seata默认使用内网IP注册到注册中心,如果是在服务器上部署则需要指定公网IP
7.Canal
docker pull canal/canal-server
docker run --name canal -d -p 11111:11111 -v /usr/local/docker/canal:/home/admin/canal-server canal/canal-server
说明:
关于Canal的配置请参考官方文档
需要注意的是在Window系统上的Docker Desktop无法运行Canal,而在服务器上可以成功运行,本人暂时没有搞懂原因,希望有知道原因的大佬分享一下,同时如果我了解了也会及时更新博客。
二、部署镜像集群
在分布式环境的需求下,单机环境已经难以满足,但如果又重新生成镜像实例来进行配置又显得麻烦,这时候我们可以使用docker-compose来进行一键部署,以下列举一下搭建ElasticSearch和Redis的集群的例子。
ElasticSearch集群:
# docker-compose.yml文件
version: '2.0'
services:
es01:
image: elasticsearch:7.12.1
container_name: es01
environment:
- node.name=es01
- cluster.name=es-docker-cluster
- discovery.seed_hosts=es02