docker安装常用组件(rocketmq、redis、es)

需求:

我们在开发环境一般都需要不少的组件,比如Zookeeper、Redis、RocketMQ、ElasticSearch、ElasticSearch-head、ElasticSearch-head

环境:

dokcer(需要先安装docker,没有的可以参考这个博客安装https://blog.csdn.net/qiaodaima0/article/details/124632831?spm=1001.2014.3001.5501)

1、如果离线的话,下载离线镜像包

下载好后,上传镜像包到服务器上
一个个执行安装镜像命令 (xxx换成具体的镜像名)
docker load -i xxx.tar

2、有网络的话,直接执行docker命令即可

安装:

Docker图形化管理

docker run -d -p 8000:8000 -p 9000:9000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /home/docker/portainer:/data \
--name=portainer \
--restart=always \
portainer/portainer-ce

访问地址:http://127.0.0.1:9000/

Zookeeper

docker run -d -p 2181:2181 \
-v /home/docker/zookeeper/data:/data \
-v /home/docker/zookeeper/logs:/logs \
-v /home/docker/zookeeper/datalog:/datalog \
--name zookeeper \
--restart=always \
zookeeper:latest

Redis 配置密码为123456

docker run -d -p 6379:6379 \
-v /home/docker/redis/data:/data \
--name redis \
--restart=always \
redis redis-server \
--appendonly yes \
--requirepass "123456"

RocketMQ

docker run -d --name rmqnamesrv \
 -v /home/docker/rocketmq/data/namesrv/logs:/home/rocketmq/logs \
 -p 9876:9876 \
 --restart=always \
 apacherocketmq/rocketmq:4.8.0-alpine sh mqnamesrv

安装rmqbroker,需要将rmqbroker的配置文件挂载出来

docker run -d --name rmqbroker \
 -v /home/docker/rocketmq/data/broker/logs:/home/rocketmq/logs \
 --link rmqnamesrv:namesrv \
 --restart=always \
 -e "NAMESRV_ADDR=namesrv:9876" \
 -p 10909:10909 -p 10911:10911 -p 10912:10912 \
 apacherocketmq/rocketmq:4.8.0-alpine

拷贝rmqbroker的配置文件到主机目录

docker cp rmqbroker:/home/rocketmq/rocketmq-4.8.0/conf /home/docker/rocketmq/data/broker/conf

删除原容器,重新启动新的rmqbroker

docker run -d --name rmqbroker \
 -v /home/docker/rocketmq/data/broker/logs:/home/rocketmq/logs \
 -v /home/docker/rocketmq/data/broker/conf/broker.conf:/home/rocketmq/rocketmq-4.8.0/conf/broker.conf \
 --link rmqnamesrv:namesrv \
 --restart=always \
 -e "NAMESRV_ADDR=namesrv:9876" \
 -p 10909:10909 -p 10911:10911 -p 10912:10912 \
 apacherocketmq/rocketmq:4.8.0-alpine \
 sh mqbroker -c /home/rocketmq/rocketmq-4.8.0/conf/broker.conf	

ElasticSearch

docker run -d -p 9200:9200 -p 9300:9300 \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
-e "discovery.type=single-node" \
--name elasticsearch  \
--restart=always \
elasticsearch:7.6.2

跨域拒绝访问问题修复
进入elasticsearch容器内部,修改配置文件/config/elasticsearch.yml,在文件后面添加:

http.cors.enabled: true
http.cors.allow-origin: "*"	

ElasticSearch-head

docker run -d -p 9001:9100 --name elasticsearch-head mobz/elasticsearch-head:5-alpine

ElasticSearch-Head请求Content-Type问题
进入elasticsearch-head容器内部,修改vendor.js文件

1、进入容器
docker exec -it 容器id /bin/sh
2、修改vendor.js
vim /usr/src/app/_site/vendor.js
3、6886行 /contentType: "application/x-www-form-urlencoded 
   改成 contentType: "application/json;charset=UTF-8" 
  7573行 var inspectData = s.contentType === "application/x-www-form-urlencoded" &&` 
    改成 var inspectData = s.contentType === "application/json;charset=UTF-8" &&
4、退出容器,重启容器

kibana

docker run -d -p 5601:5601 \
--link elasticsearch:elasticsearch  \
--restart=always \
--name kibana \
kibana:7.6.2

安装后,默认是英文的,可以修改一下kibana的配置文件,显示成中文
登录容器,然后修改配置文件kibana.yml,加上一行配置i18n.locale: zh-CN

MinIO(文件存储)

docker run -d -p 9090:9000 \
  -v /etc/localtime:/etc/localtime \
  -v /home/docker/minio/data:/data \
  -v /home/docker/minio/config:/root/.minio \
  --name minio \
  --restart=always \
  minio/minio server /data

9000端口已被使用,使用9090端口映射MinIO9000端口
管理页面地址:http://127.0.0.1:9090/
用户名密码都是:minioadmin

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值