Ich habe gerade angefangen, Docker zu lernen, weil ich ein neues Projekt mit Django+Hbase+Git gestartet habe. Es würde lange dauern, eine normale Entwicklungsumgebung zu erstellen, also habe ich Docker studiert, aber ich weiß nicht, wie man eine Entwicklungsumgebung erstellt mit Docker. Noch etwas unklar.
Die Idee unseres Projektteams ist, dass, solange jeder Docker auf seinem Host installiert hat, er Pycharm direkt in Docker verwenden kann, um über Git zu entwickeln, den Code zu ändern und zu synchronisieren, 最理想的情况是其他开发者连 Pycharm 都不用装
Installieren Sie Python und Pycharm und Docker. Sie können das normale Debuggen und Ausführen des Codes in lokalem Pycharm durchführen. Ich weiß nicht, ob Docker eine solche Funktion erreichen kann, lol
首先docker里面是不能跑pycharm的,你要把docker的每个容器当做是一个独立的电脑。试问,别人的电脑上装个pycharm,你们在同个局域网的时候,你能用他的pycharm来编辑你电脑上的python代码吗?
docker主要搞定是环境的隔离和打包
环境的隔离:docker的每个容器可以简单理解为一个沙箱,在容器里面安装的各种软件都不会影响宿主机的真实软件环境。假设一个场景,你手上有10个同时在维护的项目,但是问题是这10个项目各自依赖的python版本都不相同(项目1依赖python1.1,项目2依赖python1.2,项目3依赖python2.1...项目10依赖python3.3),如果不用docker,你怎么办?在你电脑上把每个版本都装一个?各个版本之间的环境依赖会不会有冲突?是不是想想就头大。而docker就完全ok,他们各自环境完全独立互不影响,想怎么玩都行
环境的打包: 假设你们有个100人的开发团队,有的开发环境是windows,有的是linux(具体发型版还各不相同),有的是mac。各自系统上安装的软件版本各种五花八门。这时候你们要开发一个项目,既然是一个项目,那必定最好是要统一开发环境咯,一致的各种配置参数,一致的python版本,一致的各种扩展包及扩展包的版本,一致的环境变量等等,这时候如果让各自配置各自的环境,可能对于老手来说三下五除二就搞定了,但是对于经验不是很足的新人来说,可能就这个环境就得搞好几天。而docker就简单了,只要一个人写好一个dockerfile文件,里面写好各种配置,再分发给所有开发组成员,大家只需要一个docker build命令,就完成了环境的搭建,而且软件运行的系统环境,配置参数,扩展库及依赖等都是一致的。项目完成之后,实际上线时,也可以用这个dockerfile来一键搭建线上的软件项目运行环境(或者直接将本地开发时使用的容器打包为镜像,然后发布镜像),而且保证了线上运行环境和本地开发环境的一致,避免了各种因环境不同搞出来的各种问题了。
就你的问题而言,结合我个人的使用经验,Django,Hbase可以放在docker里面(Django镜像应该自带python运行环境),pycharm和git安装在宿主机。所以开发人员需要安装的是pycharm+git+docker就好了
docker可以跑 pycharm? 再说了一个python环境而已,第三方引用也很好控制。
docker更多的作用是运维方面的,部署即用,不用搭建程序的运行环境。开发好了打包发布嘛,难道是想开发机器用docker?那就很有勇气啦。