所以我的团队和我已经购买了Docker - 它非常适合部署和测试.我真正的问题是如何建立一个出色的开发人员体验,特别是围绕编写Python应用程序,但这个问题可以推广到nodejs,Java等.
问题:在编写Python应用程序时,我真的很喜欢具有良好的linting/autocomplete功能,有一些非常好的编辑器(Atom,VSCode,PyCharm)提供这些,但大多数人真的希望在本地磁盘上安装Python.Docker的真正优势在于所有核心语言和任何项目库都可以放在容器中,因此在主机上复制所有这些只是为了开发是一件痛苦的事.
我知道PyCharm专业版确实支持Docker和docker-compose,但我发现它相当迟缓,很多测试运行功能被破坏了.最重要的是,我真的想要一些我可以提交版本控制的东西,以便团队可以共享开发设置,人们不必为自己的系统重复所有步骤.
我的一些想法是:
除了安装卷和编辑文本之外,有没有人能够建立一个更高效的开发环境?
在我的工作中,我使用docker和选项--net=host工作就像一个将docker容器端口转发到机器的魅力.这允许我通过示例添加使用某些端口的grunt任务:
当我开始在Mac中使用Docker时,我遇到的第一个问题是:该选项--net=host不再起作用了.我研究并且我理解为什么这是不可能的(Mac中的Docker在自己的虚拟机中运行)和我的瞬间解决方案它使用-p暴露端口的选项,但这个限制让我添加越来越多使用端口的任务因为我需要-p为我需要公开的每个端口运行显式命令.
有同样问题的人吗?怎么处理这个?