首頁  >  問答  >  主體

docker搭建的開發環境真的可以讓不懂搭建環境的小白程式設計師快速上手開始寫程式碼麼?

對docker 剛開始學習,是因為開始了一個新的項目,使用的是Django+Hbase+Git,光搭建普通的開發環境就得耗費很長時間,所以研究了一下docker,但是對docker 搭建開發環境還是有些不了解。

我們專案組的設想就是只要每個人主機上安裝了docker,就可以直接在docker 裡使用Pycharm 進行開發,修改程式碼和透過Git 同步,最理想的情況是其他開發者連Pycharm 都不用裝,次些的情況是開發人員只需要安裝了python,Pycharm,和docker,就可以在本地的Pycharm 裡對程式碼進行普通的調試運行,不知道docker 能否實現這樣的功能,求大神指教lol

过去多啦不再A梦过去多啦不再A梦2736 天前779

全部回覆(2)我來回復

  • 仅有的幸福

    仅有的幸福2017-05-16 13:19:27

    首先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就好了

    回覆
    0
  • 漂亮男人

    漂亮男人2017-05-16 13:19:27

    docker可以跑 pycharm? 再說了一個python環境而已,第三方引用也很好控制。
    docker更多的作用是運維方面的,部署即用,不用搭建程式的運作環境。開發好了打包發布嘛,難道是想開發機器用docker?那就很有勇氣啦。

    回覆
    0
  • 取消回覆