【RocketMQ、Docker】Docker 安装 RocketMQ-4.9.3:总结遇到的问题

一、容器挂载数据存放的根目录后容器启动不成功。

背景

broker容器启动成功后,默认的数据存在位置在容器内部的/home/rocketmq/store中,当我们挂载该目录后,会导致容器无法启动成功。
使用的命令:

docker run -d --name rocketmq-broker-a --network rocketmq \
-p 10909:10909 -p 10911:10911 -p 10912:10912 \
-v /home/docker/mount/rocketmq/broker/broker-a/logs:/home/rocketmq/logs \
-v /home/docker/mount/rocketmq/broker/broker-a/store:/home/rocketmq/store \
-v /home/docker/mount/rocketmq/broker/broker-a/conf:/home/rocketmq/rocketmq-4.9.3/conf \
apache/rocketmq:4.9.3 sh mqbroker -c /home/rocketmq/rocketmq-4.9.3/conf/broker.conf

分析

通过排查发现,创建挂载的目录是root权限创建得,而容器默认使用的是rocketmq权限。所以无法做写入操作。
在这里插入图片描述
在这里插入图片描述

解决方案:

映射本地目录权限设置为 777 权限。设置之后在创建容器。
参考链接

二、容器内部提示:bash: cd: /root: Permission denied

背景

使用docker exec -it 容器ID /bin/bash命令进入Broker容器、NameServer容器后操作由root权限创建得文件夹时,会提示Permission denied。
在这里插入图片描述

原因

目录是root权限创建得,而容器默认使用的是rocketmq权限,所以提示没有权限。

解决方案:

使用docker exec -it -u root 容器ID /bin/bash命令进入容器。

docker exec -it -u root 容器ID /bin/bash
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值