社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  MongoDB

为什么我不能访问在Azure web apps的docker容器中运行的mongodb?

bamchris • 5 年前 • 780 次点击  

例如,我想从dockerhub运行一个mongodb docker映像 mongo:3.6 mongo:4.1 在Azure Web应用程序中,但我无法从外部访问它。

根据Azure日志,docker容器可以正常启动,日志显示:

docker run -d -p 29794:27017 --name mytestapp -e WEBSITE_SITE_NAME=mytestapp -e WEBSITE_AUTH_ENABLED=False -e PORT=27017 -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_HOSTNAME=mytestappurl -e WEBSITE_INSTANCE_ID=xxx -e HTTP_LOGGING_ENABLED=1 mongo:4.1

2019-06-15 19:42:49.831 INFO  - Container mytestapp for site mytestapp initialized successfully and is ready to serve requests.

据我所知 Azure Web App Service only supports port 80 and 443 for inbound traffic 并将内部端口(在mongodb:27017的情况下)映射到端口80或443,具体取决于SSL与否。

当我通过浏览器和端口80访问我的web应用程序时,我会收到消息

It looks like you are trying to access MongoDB over HTTP on the native driver port.

也就是说,该服务以某种方式是可访问的,正在端口80上等待请求,但是当我尝试通过mongo连接时,例如:

mongo -host mytestappurl -port "80"  -username "root" -passwort "myrootpw" --verbose

我明白了

creating new connection to:mytestappurl:80
D NETWORK  [js] connected to server to:mytestappurl:80
I NETWORK  [js] recv(): message msgLen 1347703880 is invalid. Min 16 Max: 48000000

等等。我还试图在Azure应用程序设置中设置密钥/值对网站端口=27017,但没有成功。相同的安装程序在本地运行良好,我可以按预期访问mongodb。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/50598
 
780 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Hellen Fiallos
Reply   •   1 楼
Hellen Fiallos    5 年前

您可以使用Robomongo或任何其他类似的应用程序访问数据库,使用Ip和端口创建新连接。