【问题标题】:Debugging flask application under Docker-composeDocker-compose下调试flask应用
【发布时间】:2018-11-29 09:23:28
【问题描述】:

我遵循Docker-Compose: Getting Flask up and running 教程并尝试在Pycharm 中调试烧瓶应用程序。为此,我克隆了this 存储库并完成了教程中的所有步骤(配置远程解释器)。

我猜frontend 服务 (iky-gateway) 没有成功创建,因为当我去 localhost:8080 时什么都没有显示。

控制台的日志没有显示任何错误,我错过了没有显示 UI 的东西吗?


如果我将frontend 设置为主要的 Docker-compose 服务:

然后它抛出以下异常:

Cannot start service iky_gateway: b'OCI runtime create failed: container_linux.go:348: starting container process caused "exec: \\"\\": executable file not found in

编辑:即使我点击了 UI 按钮,我在控制台中也得到了响应(状态代码:200),但 UI 没有按预期显示。

【问题讨论】:

    标签: docker flask pycharm dockerfile


    【解决方案1】:

    查看该项目中的 compose 文件,您可能根本没有启动网关服务。我可以从您的图片中看到您已附加到 iky_backend。 compose 文件显示 iky_backend 依赖于也已启动的 mongo 映像。

    由于您已附加到 iky_backend 服务,这意味着您可能运行了 docker-compose up iky_backend 的等价物。这将启动后端和 mongo,因为存在依赖关系,但不会启动网关,因为没有依赖关系。

    services:
      iky_backend:
        container_name: iky_backend
        build: .
        environment:
          APPLICATION_ENV: Production
        depends_on:
          - mongodb
    

    如果您想启动所有 3 个服务,请尝试运行 docker-compose up iky_gateway。网关依赖于后端,后端依赖于 mongo,因此所有 3 个都将启动,您将被附加到网关服务的控制台输出。

    您可以使用 compose 查看正在运行的内容,使用 docker-compose ps,您可以使用 docker-compose logs <service_name> 访问日志。

    我建议阅读 Docker Compose Documentation 或查看 docker-compose 的帮助命令以了解一些有用的命令

    【讨论】:

    • 感谢您的解释@Tim。实际上我的问题是如何同时在 Pycharm 中运行所有 3 个服务(在 Pycharm 解释器中附加 3 个服务)。我对 docker-compose 没有问题。当我运行 docker-compose up 时一切正常。
    • @Amir 撰写文件中的哪个服务当前设置为在您的 Pycharm 配置中运行?看起来您已将其设置为运行后端,因此网关永远不会启动。如果您将服务更改为运行网关服务,那么所有 3 个服务都应该在 Pycharm 中运行
    • 将服务从后端更改为网关后,它会引发异常。请查看我的问题的编辑版本
    猜你喜欢
    • 2020-07-22
    • 2018-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-19
    • 2018-02-22
    • 2023-03-09
    • 2018-02-25
    相关资源
    最近更新 更多