[英]Best practices and suggestions for experienced iOS developers starting OS X development?
[英]What is the best practices of using Docker for front end development on OS X and passthrough ENV from host to container
我正在尋找有關使用docker在OSX上進行前端開發的最佳實踐,並且在github上找到了許多項目。 他們來了:
事實是,我需要通過已掛載(已同步)的文件夾將文件從主機系統雙向同步到虛擬容器,反之亦然,並且IO性能應類似於本機。 因此,我不考慮共享文件夾FS,例如vboxsf和vmhgfs。 此外,還需要在共享文件夾中具有一些具有正常工作能力的構建工具(gulp等)。 您如何看待xhyve(使用NFS)而不是VirtualBox? 誰嘗試過統一,docker提供的性能如何?
最后,我有一個特殊的任務,如果可能的話,我想通過nodejs通過主機到容器ENV運行app.js。 換句話說,我必須將PATH的ENV變量添加到我的〜/ .bash_profile中的nodejs(在虛擬容器中)。 是否有機會完全從主機到容器通過NODE_PATH? 謝謝。
不確定“最佳實踐”是否在征求意見(這違反SO政策),請注意,這在很大程度上還取決於您的工具鏈。
我不喜歡boot2docker,因為它到目前為止可以工作(盡管它可能會有所改進,並且從長遠來看可能是最好的方法,因為它是docker團隊維護的官方方法)。
編輯:boot2docker已停產,並由Docker Machine
取代,該Docker Machine
做了幾乎相同的事情,但以更通用的方式,允許您在本地,LAN或雲中管理Docker守護程序。
對我而言,我使用Windows,但是我面臨着與OSX開發人員相同(甚至更多)的困難。 當我使用Hyper-V時,boot2docker(VirtualBox)無法運行,所以我必須自己動手。 另外,上次我嘗試使用boot2docker-它運行TinyCoreLinux,這是我必須學習的另一個Linux發行版,而我的重點是雲中的CoreOS,所以我寧願只關注CoreOS。
設置開發人員的目標如下:
export DOCKER_HOST=<ip or hostname here>
客戶端並export DOCKER_HOST=<ip or hostname here>
mount /mnt/from/host
工作目錄mount /mnt/from/host
到您的docker主機中以進行實時重新加載:這可以通過CoreOS上的mount.cifs來使用,並帶有systemd單元。 docker build -f dev.Dockerfile -t my_dev_container .
docker run -it -v /mnt/from/host/:/src/app/ -e my_dev_container
現在,您處於具有完全隔離環境的終端中,可以將其置於源代碼控制下並在項目成員之間進行復制,並具有完整的實時重新加載功能。
缺點:如果您依賴IDE中的REPL或intelliSense,則必須具有可以使用遠程服務器的IDE。 或者,您必須在dev容器(cloud9或使用X服務器)中運行IDE。
當然,如果您生活在碼頭並精通vim,那您就很好了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.