使用 Docker 进行 Python 开发的最佳环境设置

Posted

技术标签:

【中文标题】使用 Docker 进行 Python 开发的最佳环境设置【英文标题】:Optimal environment setup for Python development with Docker 【发布时间】:2019-06-27 13:47:44 【问题描述】:

我需要开发一堆 Python 脚本,以异步方式从各种来源提取数据并填充共享数据库。一切最终都将在 AWS 上运行,而我在 Win10 机器上进行本地开发。

为了避免任何兼容性问题,我想为这个项目使用 Docker - 但我不确定如何设置我的开发环境。我可以看到一个可能有效的选项是使用 PyCharm 和他们的 Docker 插件。

还有哪些其他选择?我希望能够直接从编辑器以交互模式执行代码的 sn-ps,在 Docker 映像的背面,然后我可以在 AWS 上大量部署。

【问题讨论】:

这可能会有所帮助:nickjanetakis.com/blog/configuring-your-code-editor-for-docker。我发现 VSCode 在一个项目Workspace 中的语法高亮和管理多个 Docker 容器方面做得很好。 Visual Studio Marketplace 还具有 Docker 和 .env 文件的扩展,可以从 VSCode 中安装。 【参考方案1】:

使用以下两个选项中的任何一个都可以非常高效地进行 Docker 开发:

    您可以将源代码卷映射到生产映像中。这与基于 VM 的正常开发周期的工作方式相同。如果您不是在 Linux 上开发,请注意安装的数量/大小。 优化您的 Dockerfile 以提高重建效率。如果您仔细执行,Docker 构建可以超快。如果您使用 swarm,则此路径更好(或必要),因为它往往依赖于具有适当摘要的构建图像。

我还没有发现 phpStorm Docker 扩展很有帮助,我怀疑 PyCharm 会很相似。它实际上只是基本docker container build|run|ps 的包装。

我不确定执行代码 sn-ps 是否会那么容易,但可能有一种方法可以将其通过管道传输到正在运行的容器中。

【讨论】:

以上是关于使用 Docker 进行 Python 开发的最佳环境设置的主要内容,如果未能解决你的问题,请参考以下文章

在 AWS 中使用 Docker 扩展内存消耗高但计算能力低的作业:寻找最佳解决方案

在 AWS ECS 上使用 docker-compose 进行持续部署的最佳实践

Git + Docker + Bamboo + SaltStack 持续集成最佳实践

Docker 开发最佳实践

使用nodejs构建Docker image最佳实践

大规模Mesos&Docker在去哪儿网的最佳实践