代码之家  ›  专栏  ›  技术社区  ›  TheProfiler

无法从Docker中的Flask获取数据并将其发布到MongoDB

  •  1
  • TheProfiler  · 技术社区  · 8 年前

    我在docker内部使用Flask和MongoDB。我的日志显示一切正常,但我无法获取和发布数据,即使localhost:5000也不起作用。

    这是我的Docker文件

    version: '3.4'
    services:
      flask_example:
        build: .
        ports:
          - '5000:5000'
        links:
          - mongodb
      mongodb:
        image: mongo:latest
    

    在我的烧瓶应用程序中

    app.config['MONGO_DBNAME'] = 'restdb'
    app.config['MONGO_URI'] = 'mongodb://mongodb:27017/restdb'
    mongo = PyMongo(app)
    

    我得到的日志如下:

    mongodb|u 1 | 2018-06-26T15:06:45.689+0000 I控制 [initandlisten]MongoDB启动:pid=1端口=27017 dbpath=/data/db 64位主机=64a180c6c04e mongodb_1| 2018-06-26T15:06:45.689+0000 I控制[initandlisten]db版本 v3。6.5 mongodb|1 | 2018-06-26T15:06:45.689+0000 I控制 [initandlisten]git版本:a20ecd3e3a174162052ff99913bc2ca 9a839d618 mongodb|u 1 | 2018-06-26T15:06:45.689+0000 I控制 [initandlisten]OpenSSL版本:OpenSSL 1.0.1t 2016年5月3日mongodb_1 |2018-06-26T15:06:45.689+0000 I控制[initandlisten]分配器: tcmalloc mongodb|2018-06-26T15:06:45.689+0000 I控制 [initandlisten]模块:无mongodb_1| 2018-06-26T15:06:45.689+0000 I控制[initandlisten]构建 环境:mongodb|u 1 | 2018-06-26T15:06:45.689+0000 I控制 [initandlisten]distmod:debian 81 mongodb_1| 2018-06-26T15:06:45.689+0000 I控制[initandlisten]搜索: x86_64 mongodb_1 | 2018-06-26T15:06:45.689+0000 I控制 [initandlisten]目标搜索:x86_64 mongodb_1| 2018-06-26T15:06:45.689+0000 I控制[initandlisten]选项:{ net:{bindIpAll:true}}mongodb_1| 2018-06-26T15:06:45.690+0000 I存储[initandlisten]mongodb_1
    |2018-06-26T15:06:45.690+0000 I存储[initandlisten]**警告: WiredTiger强烈建议使用XFS文件系统 引擎12406-2018 |B-T10000: 存储[initandlisten]**请参阅 http://dochub.mongodb.org/co re/prodnotes文件系统mongodb_1| 2018-06-26T15:06:45.690+0000 I存储[initandlisten] wiredtiger_打开配置:创建,缓存大小=47 8M,session_max=20000,execution=(线程数_min=4,线程数_max=4),config_base=false,statistics=(快速),cache_cursors=false,log =(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),statistics_log=(等待)= 0),详细=(恢复进度),mongodb 1| 2018-06-26T15:06:46.604+0000 I存储[initandlisten]有线数据采集器 消息[1530025606:604056][1:0x7 f9e1d704a00],txn恢复:设置 全局恢复时间戳:0 mongodb_1| 2018-06-26T15:06:46.662+0000 I控制[initandlisten]mongodb_1
    |2018-06-26T15:06:46.662+0000 I控制[initandlisten]**警告: 未为数据库启用访问控制。mongodb_1| 2018-06-26T15:06:46.662+0000 I控制[initandlisten]**
    对数据和配置的读写访问不受限制。 mongodb|u 1 | 2018-06-26T15:06:46.662+0000 I控制 mongodb|1 | 2018-06-26T15:06:46.663+0000 I 存储[initandlisten]创建集合:admin。系统版本与 提供的UUID:cdebc7d3-958e-43db-b517-bcfdc59e92ce mongodb_1| 2018-06-26T15:06:46.692+0000 I命令[initandlisten]设置 功能兼容版本3.6 mongodb_1| 2018-06-26T15:06:46.696+0000 I存储[initandlisten] createCollection:本地。生成UUID的启动日志: 5b6bb532-fde4-4156-bee9-E4BFAAE55B7 mongodb_1| 2018-06-26T15:06:46.731+0000 I FTDC[initandlisten]正在初始化 带目录的全职诊断数据捕获 “/data/db/diagnostic。数据“mongodb_1”| 2018-06-26T15:06:46.731+0000 I网络[initandlisten]正在等待 端口27017 mongodb_1上的连接| 2018-06-26T15:06:47.028+0000 I网络[侦听器]连接已接受 从172.28.0.3:46594#1(1 c连接现在打开)烧瓶_示例_1| *供应烧瓶应用程序“应用程序”(延迟加载)烧瓶_示例|*环境:生产烧瓶_示例|警告:不要使用 在生产环境中开发服务器。mongodb_1| 2018-06-26T15:06:47.030+0000 I网络[conn1]接收到客户端 元数据来自172.28.0.3:46594 conn1:{driver:{name:“PyMongo”, 版本:“3.6.1”},操作系统:{类型:“Linux”,名称:“Linux”,体系结构: “x86_64”,版本:“4.9.87-linuxkit-aufs”,平台:“CPython” 3.6.5.最终的0“}flask_example|1|使用生产WSGI服务器。flask_example|1|*调试模式:在flask_example|1|上* 继续 http://127.0.0.1:5000/ (按CTRL+C退出) flask_示例_1 |*使用stat mongodb_1重新启动| 2018-06-26T15:06:47.283+0000 I网络[侦听器]连接已接受 从172.28.0.3:46596#2(2个连接现在打开)mongodb_1| 2018-06-26T15:06:47.285+0000 I网络[conn2]接收客户端 元数据来自172.28.0.3:46596 conn2:{driver:{name:“PyMongo”, 版本:“3.6.1”},操作系统:{类型:“Linux”,名称:“Linux”,体系结构: “x86_64”,版本:“4.9.87-linuxkit-aufs”,平台:“CPython” 3.6.5.最终的0“}flask_示例_1 |*调试器处于活动状态!flask_示例_1 |*调试器PIN:174-151-610

    2 回复  |  直到 8 年前
        1
  •  1
  •   TheProfiler    8 年前

    解决了

    生产中必须如此

    if __name__ == '__main__':
        app.run(host='0.0.0.0',debug=True)
    

    因此没有 localhost:5000 相当地 0.0.0.0:5000

        2
  •  0
  •   Alexander Davydov    8 年前

    我在这里看到的是烧瓶和蒙哥装在不同的容器里。 我认为你应该用主机名映射来修复链接部分:

    links:
      - mongodb:mongodb
    
    推荐文章