docker下安装rocketmq错误提示:/opt/rocketmq/conf/broker.conf (Is a directory)
- Docker
- 时间:2022-10-18 15:27
- 4818人已阅读
简介
在docker下安装rocketmq时候提示错误信息:/opt/rocketmq/conf/broker.conf (Is a directory)
🔔🔔🔔好消息!好消息!🔔🔔🔔
有需要的朋友👉:联系凯哥
在docker下安装rocketmq时候提示错误信息:/opt/rocketmq/conf/broker.conf (Is a directory)
通过错误信息,我们可以看出,提示/opt/rocketmq/conf/broker.conf (Is a directory)是一个文件。
我们进入到/opt/rocketmq/conf下ll查看下
我们的borker.conf不是文件夹啊就是一个文件。什么问题导致的呢?
问题一:
在编写borker.conf文件的时候,使用的不是vim命令。使用的时候centos的文本编辑器编写的
可能是这个原因导致的。
删除掉之后,通过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了。