无法将Ant Media连接至独立版MongoDB的问题求助
问题
在Docker容器中运行Ant Media Server,尝试连接外部MongoDB,按步骤执行启动脚本:
root@df9a4c1eb559:/# /usr/local/antmedia/start.sh -m standalone -h my_mongo_ip mongoadmin secret
执行后输出显示DB type is redis,未切换到MongoDB,但容器内通过Mongo客户端已确认能正常连接目标MongoDB。
解决方法
1. 修正启动脚本参数格式
启动脚本需要显式指定数据库类型为MongoDB,使用-db mongodb参数,同时规范用户名和密码的参数传递(避免位置参数解析错误):
/usr/local/antmedia/start.sh -m standalone -db mongodb -h my_mongo_ip -u mongoadmin -p secret
2. 修改配置文件强制指定MongoDB
进入容器后编辑核心配置文件/usr/local/antmedia/conf/red5.properties,修改以下配置项:
# 替换原有的db.type配置 db.type=mongodb # 填写你的MongoDB地址、用户名和密码 db.host=my_mongo_ip db.username=mongoadmin db.password=secret
修改完成后重启服务:
/usr/local/antmedia/stop.sh /usr/local/antmedia/start.sh -m standalone
3. Docker启动时通过环境变量配置
如果使用Docker命令或Compose启动容器,直接通过环境变量传入MongoDB配置,无需进入容器修改:
docker run -d \ --name ant-media \ -e DB_TYPE=mongodb \ -e DB_HOST=my_mongo_ip \ -e DB_USERNAME=mongoadmin \ -e DB_PASSWORD=secret \ -p 5080:5080 -p 1935:1935 -p 8080:8080 -p 8443:8443 \ antmedia/ant-media-server:latest
内容的提问来源于stack exchange,提问作者psycho
相关产品推荐
相关产品推荐

