docker下安装rocketmq错误提示:/opt/rocketmq/conf/broker.conf (Is a directory)

  • 作者: 凯哥Java(公众号:凯哥Java)
  • Docker
  • 时间:2022-10-18 15:27
  • 4818人已阅读
简介 在docker下安装rocketmq时候提示错误信息:/opt/rocketmq/conf/broker.conf (Is a directory)

🔔🔔🔔好消息!好消息!🔔🔔🔔

有需要的朋友👉:联系凯哥 微信号 kaigejava2022

在docker下安装rocketmq时候提示错误信息:/opt/rocketmq/conf/broker.conf (Is a directory)

b293390dd871ede6c6e0b7e264cd7fe8.png

通过错误信息,我们可以看出,提示/opt/rocketmq/conf/broker.conf (Is a directory)是一个文件。

我们进入到/opt/rocketmq/conf下ll查看下

afcb2db7f7ce6d84ac04dad1b34cf460.png

我们的borker.conf不是文件夹啊就是一个文件。什么问题导致的呢?

问题一:

在编写borker.conf文件的时候,使用的不是vim命令。使用的时候centos的文本编辑器编写的

7acd1b871e807547993df00d69c2e41e.png

可能是这个原因导致的。

删除掉之后,通过vim命令重新编写。保存后,可能会解决问题。但是凯哥的不是这个原因。

问题二:

凯哥出现这个问题的原因,是在命令编写有问题。

在broker安装命令(注意,以下命令不能直接执行,这个是凯哥换行的,方便大家看的):

broker安装
docker run -d -p 10911:10911 -p 10909:10909 
-v /opt/rocketmq/broker/logs:/root/logs 
-v   /opt/rocketmq/broker/store:/root/store 
-v /opt/rocketmq/conf/broker.conf:/opt/rocketmq/conf/broker.conf 
--name rmqbroker --link rmqnamesrv:namesrv 
-e "NAMESRV_ADDR=namesrv:9876"
 -e "MAX_POSSIBLE_HEAP=200000000" rocketmqinc/rocketmq sh mqbroker -c /opt/rocketmq/conf/broker.conf

在最后一行:-c /opt/rocketmq/conf/broker.conf

其实报错的也就是这里。

docker命令参数中:-v 和 -c的区别

-v:是数据卷挂载。将宿主机的文件路径挂载到容器中

-c:指向的是容器中的路径。

其实我们可以看到在

-v /opt/rocketmq/broker/conf/broker.conf:/opt/rocketmq/conf/broker.conf

这一行其实就是将宿主机的目录挂载到容器中。

凯哥修改:将

-v /opt/rocketmq/conf/broker.conf:/opt/rocketmq/conf/broker.conf

路径写一致

 -c /opt/rocketmq/conf/broker.conf

也保持一致。

修改后的命令:

docker run -d -p 10911:10911 -p 10909:10909 -v /root/rocketmq/broker/logs:/root/logs -v   /root/rocketmq/broker/store:/root/store -v /opt/rocketmq/conf/broker.conf:/opt/rocketmq/conf/broker.conf --name rmqbroker --link rmqnamesrv:namesrv -e "NAMESRV_ADDR=namesrv:9876"  -e "MAX_POSSIBLE_HEAP=200000000" rocketmqinc/rocketmq sh mqbroker -c /opt/rocketmq/conf/broker.conf

这样就可以就OK了。

TopTop