Docker开发环境中的丰富编辑器

Jus*_*ris 18 python ide editor docker

所以我的团队和我已经购买了Docker - 它非常适合部署和测试.我真正的问题是如何建立一个出色的开发人员体验,特别是围绕编写Python应用程序,但这个问题可以推广到nodejs,Java等.

问题:在编写Python应用程序时,我真的很喜欢具有良好的linting/autocomplete功能,有一些非常好的编辑器(Atom,VSCode,PyCharm)提供这些,但大多数人真的希望在本地磁盘上安装Python.Docker的真正优势在于所有核心语言和任何项目库都可以放在容器中,因此在主机上复制所有这些只是为了开发是一件痛苦的事.

我知道PyCharm专业版确实支持Docker和docker-compose,但我发现它相当迟缓,很多测试运行功能被破坏了.最重要的是,我真的想要一些我可以提交版本控制的东西,以便团队可以共享开发设置,人们不必为自己的系统重复所有步骤.

我的一些想法是:

  1. 在边车Docker容器中安装编辑器(如Atom)并使用X11转发
  2. 在容器中使用基于浏览器的编辑器(如https://c9.io/) - 这似乎是最有希望的
  3. 在一个可以处理自动完成/ linting等的开发容器中安装一些代理,并从本地运行的编辑器连接到它 - 我认为这将是最好的解决方案,但我也认为它现在实际上并不存在.

除了安装卷和编辑文本之外,有没有人能够建立一个更高效的开发环境?

Eug*_*yer 17

您应该使用像IntelliJ(Pycharm)这样的"高级"IDE,并remote Python SDK使用SSH-Access 配置您的App-Docker-Container(使用共享的ssh-key通过预先安装的openssh服务器和预配置的authorized_keys文件对应用程序容器进行身份验证).您可以在项目文件中与所有开发人员共享此SDK信息,这样他们就可以开箱即用

1)这将确保您的IDE知道在运行时期间docker-container中可用/安装的所有python库/符号.它还可以让您同时远程正确调试

2)这确保您拥有一个IDE,包括许多重要的附加功能,如检查员,3路duff,路径搜索...... 在这一点上,几乎没有任何基于浏览器的IDE会赶上Pycharm

当然,正如评论中已经提到的,您需要共享将代码安装到容器中.在linux上,您明显地使用从本地src文件夹到容器的主机卷安装.

在OSX上,使用主机安装时会遇到性能问题.你可能会使用像http://docker-sync.io这样的东西(我有偏见 - 还有很多其他类似的工具)

  • “配置远程Python SDK”是什么意思? (4认同)