一、容器挂载数据存放的根目录后容器启动不成功。
背景
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/brok

本文分析了在尝试挂载目录启动RocketMQ Broker容器时遇到的问题,即由于目录权限导致的启动失败。当挂载的目录由root权限创建,而容器内部默认使用rocketmq用户时,容器无法进行写入操作。解决方案包括修改挂载目录的权限为777,以及在使用docker exec进入容器时指定root用户。文章还提到了在容器内执行命令时因权限不足引发的错误及其解决办法。
最低0.47元/天 解锁文章
2161





