Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Docker with Cloud Service GCPUG

1,171 views

Published on

資料內容同此篇,http://www.slideshare.net/clonncd/docker-with-cloud-service。

談論 docker 運作架構,以及增加 Node.js example book 及 Google Service support, how to deploy to GCP

Published in: Technology
  • Be the first to comment

Docker with Cloud Service GCPUG

  1. 1. Docker with Cloud Service Caesar Chi @clonncd May 28 2015
  2. 2. Communication is most important in development. 開發中資訊通透是最重要的關鍵
  3. 3. 溝通
  4. 4. 版本控制其中⺫⽬目的,讓團隊程式碼具有可追蹤,可掌控度
  5. 5. Rails ActiveRecord 資料庫也可以具有版本控管,可追蹤性
  6. 6. https://www.pixelapse.com/ 圖⽚片版本控管⼯工具
  7. 7. 為何使⽤用版本控制 • 明確了解版本之間疊代過程 • 知道開發過程的始末 • 明確了解團隊開發⽚片段經驗 • 掌控團隊進度 • 確保資訊通透度,維持溝通順暢
  8. 8. How about OS/ ENV
  9. 9. 環境佈署,與開發通常是不同⼈人負責
  10. 10. 通常希望的開發循環會是如此
  11. 11. 開發對開發 • 規格實例化 • 規格的釐清 • 確認需求 • 前後端整合 • 第三⽅方 API 串接
  12. 12. 開發對資料庫 • ORM Model • schema 版本控制 • 資料庫效能調教 • 資料庫正規化 • 報表製作
  13. 13. 開發對視覺 • 知道微變動之處 • 明確了解設計變動之處 • 掌握開發動線流程 • 促進雙⽅方溝通協議 • 儘快動⼯工,完成可操作第⼀一版本
  14. 14. 開發對環境 • 開發系統環境規格 • 系統佈署⽅方式 • 正式環境與開發環境建置 • 正式環境與開發環境差異 • 異常釐清
  15. 15. productiondevelopme OSX UBUNTU Same environment Windows
  16. 16. find more services : https://registry.hub.docker.com/ Dockerlize 社群環境,擁有許多不同 OS 環境
  17. 17. 開發環境變動更為⽅方便,服務調整更為簡潔
  18. 18. Dockerfile
  19. 19. ubuntu 14.04 ruby and nodejs sails framework ubuntu 14.04 ruby and nodejs loopback ubuntu 14.04 ruby and nodejs Ruby on Rails 基於相同環境基礎,打造不同開發環境
  20. 20. ubuntu 14.04 ruby and nodejs sails framework ubuntu 14.04 ruby and nodejs loopback ubuntu 14.04 ruby and nodejs Ruby on Rails 基於相同環境基礎,打造不同開發環境
  21. 21. extendable ubuntu 14.04 ruby and nodejs sails framework FROM smlsunxie/rudy-node:latest
  22. 22. ubuntu 14.04 ruby and nodejs sails framework FROM smlsunxie/rudy-node:latest RUN gem install compass RUN gem install bootstrap-sass RUN npm install -g grunt-cli RUN npm install -g bower RUN npm install -g coffee-script RUN npm install -g sails 環境具有可讀性,通透度 打開環境設定,⿊黑盒⼦子的祕密
  23. 23. Dockerfile https://github.com/enokd/docker-node-hello/blob/master/Dockerfile $docker build . $docker run -p 49160:8080 -d gasi/centos-node-hello
  24. 24. $docker build . $docker run -p 49160:8080 -d gasi/centos-node-hello centOS nodejs
  25. 25. Docker Simple Way docker-compose / fig
  26. 26. • $docker pull mysql:latest • $docker run 
 -p 3306:3306 
 -v /data/mysql:/var/lib/mysql 
 -e MYSQL_ROOT_PASSWORD=root 
 mysql fig.yml / compose.yml
  27. 27. VS • $docker pull mysql:latest • $docker run 
 -p 3306:3306 
 -v /data/mysql:/var/lib/mysql 
 -e MYSQL_ROOT_PASSWORD=root 
 mysql
  28. 28. • 查詢所有環境變數:fig run SERVICE_NAME env • 環境變數清楚可⾒見
  29. 29. Mysql Redis 2.8 5.7
  30. 30. 環境與程式共存
  31. 31. https://github.com/enokd/docker-node-hello/
  32. 32. 機制
  33. 33. 環境透過不斷堆疊,重複使⽤用,讓環境進⼊入版本控制
  34. 34. Docker 架構
  35. 35. ubuntu 14.04 ruby and nodejs sails framework ubuntu 14.04 ruby and nodejs loopback Windows azure VM -> create coreOS
  36. 36. ubuntu 14.04 ruby and nodejs sails framework ubuntu 14.04 ruby and nodejs loopback Windows azure VM -> create coreOS 10082:80 10083:80
  37. 37. ubuntu 14.04 ruby and nodejs sails framework ubuntu 14.04 ruby and nodejs loopback Windows azure VM -> create coreOS 10082:80 10083:80
  38. 38. ubuntu 14.04 Haproxy ubuntu 14.04 ruby and nodejs loopback 80:80 10081:80 ubuntu 14.04 ruby and nodejs loopback 10082:80 ubuntu 14.04 ruby and nodejs loopback 10083:80
  39. 39. ubuntu 14.04 Haproxy ubuntu 14.04 ruby and nodejs loopback ubuntu 14.04 ruby and nodejs loopback
  40. 40. 混搭不同雲端服務,打造完整⽣生態
  41. 41. 傻⽠瓜版本 https://www.tutum.co/
  42. 42. https://www.tutum.co/
  43. 43. https://www.tutum.co/
  44. 44. ubuntu 14.04 Haproxy ubuntu 14.04 ruby and nodejs loopback ubuntu 14.04 ruby and nodejs loopback https://support.tutum.co/support/solutions/articles/5000050235-load-balancing-a-web-service
  45. 45. ubuntu 14.04 ruby and nodejs loopback ubuntu 14.04 ruby and nodejs loopback ubuntu 14.04 ruby and nodejs loopback https://github.com/kelonye/node-tutum-deploy
  46. 46. 統⼀一管理 Web GUI 監控程式執⾏行狀況
  47. 47. 後記
  48. 48. Docker 讓 OS / 開發環境變得更容易掌控,清晰
  49. 49. Dockerfile 讓 Dev & Ops 交流更為清晰
  50. 50. Cloud service ⽀支援 docker ,讓佈署變得簡單
  51. 51. 節省時間達到最⾼高的效益
  52. 52. 確保⼈人員間順暢溝通
  53. 53. Communication is most important in development. 開發中資訊通透是最重要的關鍵
  54. 54. node-js-500-samples https://www.gitbook.com/book/peihsinsu/node-js-500-samples/details
  55. 55. Ref • http://www.slideshare.net/smlsun/docker-42790855 • http://www.slideshare.net/kojilin/docker- intro-35870496 • https://www.gitbook.com/book/philipzheng/ docker_practice/details • http://www.meetup.com/Docker-Taipei/

×