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



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

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

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

  • 生产部署:如何构建Docker镜像,以便在应用程序已打包的情况下进行旋转
  • 镜像生产的开发环境:对上述环境的扩展,在开发过程中,您可以使用容器在部署到生产之前完全保证项目的当前状态

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

我能找到的最接近的文章是这篇"八个Docker开发模式"的博客文章,但它没有考虑IDE(就像我现在使用的PyCharm)。

也许这个问题是配置PyCharm使用Docker容器中运行的远程Python解释器花费3-4个小时(而且还在不断增加)的结果。我希望两者能更好地结合在一起。

实际上,我相信在PyCharm中使用Docker解释器是可行的。你有哪个版本的PyCharm?如果你有2016版本,它应该在几秒钟内设置好。你只需要确保你的docker机器正在运行,你必须构建你想在项目中使用的图像。PyCharm会自动在"添加远程解释器"对话框中找到Docker机器。然后选择你的图像,你就做好了准备。

然后,您可以像往常一样运行代码,几乎不会有任何延迟。

以下是对我有效的方法:https://www.jetbrains.com/help/pycharm/2016.1/configuring-remote-interpreters-via-docker.html

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

最新更新