用于非 Web 应用程序的带有 Docker + IDE 的 Python 工作流

Posted

技术标签:

【中文标题】用于非 Web 应用程序的带有 Docker + IDE 的 Python 工作流【英文标题】:Workflow for Python with Docker + IDE for non-web applications 【发布时间】:2016-10-07 05:52:15 【问题描述】:

我目前正在尝试将 Docker 插入我的非 Web 应用程序的 Python 开发工作流程中。

目前使用 Docker 和 IDE 进行 Python 开发的最佳实践是什么? 我需要能够使用 Docker 隔离我的环境并调试我的代码。

我在网上找到了很多关于使用 Docker 部署代码的文章:

生产部署:如何构建 Docker 映像,准备好与已打包在其中的应用程序一起运行 镜像生产的开发环境:上述扩展,您可以使用容器在开发过程中部署到生产之前使用容器对项目的当前状态进行全面质量检查

除了一些关于如何在开发 Web 应用程序时使用具有映射到主机上目录的共享卷的容器的一些技巧之外,我发现的关于实际开发工作流程的信息要少得多。这种方法不适用于非 Web 应用程序,并且存在一些问题,即简单的重新加载(使用类似 LiveReload 的机制)是不够的,因此您需要重新启动容器。

我能找到的最接近的文章是这篇 "Eight Docker Development Patterns" 博客文章,但它没有考虑 IDE(比如我现在使用的 PyCharm)。

也许这个问题是花费 3-4 小时(并且还在继续)配置 PyCharm 以使用在 Docker 容器中运行的远程 Python 解释器的结果。我预计两者之间的整合会更好。

【问题讨论】:

【参考方案1】:

实际上,我相信在 PyCharm 中使用 Docker 解释器是可行的方法。你有哪个版本的 PyCharm?如果你有 2016 版本,它应该在几秒钟内设置好。您只需要确保您的 docker 机器正在运行,并且您必须构建您希望在项目中使用的映像。 PyCharm 会自动在“添加远程解释器”对话框中找到 Docker 机器。然后选择您的图片,一切就绪。

你可以像往常一样运行你的代码,几乎没有任何延迟。

这对我有用:https://www.jetbrains.com/help/pycharm/2016.1/configuring-remote-interpreters-via-docker.html

并确保更新 PyCharm,这解决了我遇到的一些问题。

【讨论】:

PyCharm社区版好像没有docker集成插件。

以上是关于用于非 Web 应用程序的带有 Docker + IDE 的 Python 工作流的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Docker 配置带有 redis 的 Spring Boot Web 应用程序

带有 Docker 的 Rails '在任何资源中都找不到 ...' 用于现有的 gem

带有 Flutter web 的 localhost 无法与 docker 一起使用

Docker 中用于 Web 上 Flutter 的 Dart 服务器

带有 docker 的 API 网关都有哪些选项?

无法加载共享库“libgdiplus” - Docker [带有 Aspose API 的 .NET 应用程序]