SlideShare a Scribd company logo
Docker with Cloud Service
Caesar Chi
@clonncd
May 28 2015
Communication is most
important in development.
開發中資訊通透是最重要的關鍵
溝通
版本控制其中⺫⽬目的,讓團隊程式碼具有可追蹤,可掌控度
Rails ActiveRecord
資料庫也可以具有版本控管,可追蹤性
https://www.pixelapse.com/
圖⽚片版本控管⼯工具
Docker with Cloud Service  GCPUG
為何使⽤用版本控制
• 明確了解版本之間疊代過程
• 知道開發過程的始末
• 明確了解團隊開發⽚片段經驗
• 掌控團隊進度
• 確保資訊通透度,維持溝通順暢
How about OS/ ENV
環境佈署,與開發通常是不同⼈人負責
通常希望的開發循環會是如此
Docker with Cloud Service  GCPUG
Docker with Cloud Service  GCPUG
開發對開發
• 規格實例化
• 規格的釐清
• 確認需求
• 前後端整合
• 第三⽅方 API 串接
開發對資料庫
• ORM Model
• schema 版本控制
• 資料庫效能調教
• 資料庫正規化
• 報表製作
開發對視覺
• 知道微變動之處
• 明確了解設計變動之處
• 掌握開發動線流程
• 促進雙⽅方溝通協議
• 儘快動⼯工,完成可操作第⼀一版本
開發對環境
• 開發系統環境規格
• 系統佈署⽅方式
• 正式環境與開發環境建置
• 正式環境與開發環境差異
• 異常釐清
Docker with Cloud Service  GCPUG
Docker with Cloud Service  GCPUG
productiondevelopme
OSX
UBUNTU
Same environment
Windows
find more services : https://registry.hub.docker.com/
Dockerlize
社群環境,擁有許多不同 OS 環境
開發環境變動更為⽅方便,服務調整更為簡潔
Docker with Cloud Service  GCPUG
Docker with Cloud Service  GCPUG
Docker with Cloud Service  GCPUG
Docker with Cloud Service  GCPUG
Dockerfile
ubuntu 14.04
ruby and nodejs
sails framework
ubuntu 14.04
ruby and nodejs
loopback
ubuntu 14.04
ruby and nodejs
Ruby on Rails
基於相同環境基礎,打造不同開發環境
ubuntu 14.04
ruby and nodejs
sails framework
ubuntu 14.04
ruby and nodejs
loopback
ubuntu 14.04
ruby and nodejs
Ruby on Rails
基於相同環境基礎,打造不同開發環境
extendable
ubuntu 14.04
ruby and nodejs
sails framework
FROM smlsunxie/rudy-node:latest
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
環境具有可讀性,通透度
打開環境設定,⿊黑盒⼦子的祕密
Docker with Cloud Service  GCPUG
Dockerfile
https://github.com/enokd/docker-node-hello/blob/master/Dockerfile
$docker build .
$docker run -p 49160:8080 -d gasi/centos-node-hello
$docker build .
$docker run -p 49160:8080 -d gasi/centos-node-hello
centOS
nodejs
Docker Simple Way
docker-compose / fig
• $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
VS
• $docker pull mysql:latest
• $docker run 

-p 3306:3306 

-v /data/mysql:/var/lib/mysql 

-e MYSQL_ROOT_PASSWORD=root 

mysql
• 查詢所有環境變數:fig run SERVICE_NAME env
• 環境變數清楚可⾒見
Mysql
Redis
2.8
5.7
環境與程式共存
https://github.com/enokd/docker-node-hello/
Docker with Cloud Service  GCPUG
Docker with Cloud Service  GCPUG
機制
Docker with Cloud Service  GCPUG
Docker with Cloud Service  GCPUG
Docker with Cloud Service  GCPUG
環境透過不斷堆疊,重複使⽤用,讓環境進⼊入版本控制
Docker 架構
Docker with Cloud Service  GCPUG
ubuntu 14.04
ruby and nodejs
sails framework
ubuntu 14.04
ruby and nodejs
loopback
Windows azure VM -> create coreOS
ubuntu 14.04
ruby and nodejs
sails framework
ubuntu 14.04
ruby and nodejs
loopback
Windows azure VM -> create coreOS
10082:80 10083:80
ubuntu 14.04
ruby and nodejs
sails framework
ubuntu 14.04
ruby and nodejs
loopback
Windows azure VM -> create coreOS
10082:80 10083:80
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
ubuntu 14.04
Haproxy
ubuntu 14.04
ruby and nodejs
loopback
ubuntu 14.04
ruby and nodejs
loopback
混搭不同雲端服務,打造完整⽣生態
傻⽠瓜版本
https://www.tutum.co/
https://www.tutum.co/
https://www.tutum.co/
Docker with Cloud Service  GCPUG
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
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
統⼀一管理 Web GUI 監控程式執⾏行狀況
後記
Docker 讓 OS / 開發環境變得更容易掌控,清晰
Dockerfile 讓 Dev & Ops 交流更為清晰
Cloud service ⽀支援 docker ,讓佈署變得簡單
節省時間達到最⾼高的效益
確保⼈人員間順暢溝通
Communication is most
important in development.
開發中資訊通透是最重要的關鍵
node-js-500-samples
https://www.gitbook.com/book/peihsinsu/node-js-500-samples/details
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/
Docker with Cloud Service  GCPUG
Docker with Cloud Service  GCPUG

More Related Content

Viewers also liked (20)

PDF
From devOps to front end Ops, test first
Caesar Chi
 
PDF
PWA and Chatbot - with e-Commerce experience sharing
Caesar Chi
 
PDF
LoopBack: a productivity booster for MEAN
Miroslav Bajtoš
 
PPTX
Working with LoopBack Models
Raymond Feng
 
PDF
Rapid API Development with LoopBack/StrongLoop
Raymond Camden
 
PDF
html5 & phonegap
Caesar Chi
 
PDF
中華電信 教育訓練
謝 宗穎
 
PDF
Google Cloud Platform 2014Q4
Simon Su
 
PDF
技術單兵作戰及團隊開發流程差異
Caesar Chi
 
PDF
GCPUG.TW - 2016活動討論
Simon Su
 
PDF
Developer team review of 2014
Caesar Chi
 
PDF
中原大學 Shift to cloud
Simon Su
 
PDF
為 Node.js 專案打造專屬管家進行開發流程整合及健康檢測
謝 宗穎
 
PDF
GCPUG.TW - 2015活動回顧
Simon Su
 
PDF
Web development, from git flow to github flow
Caesar Chi
 
PDF
JCConf 2015 - Google Dataflow 在雲端大資料處理的應用
Simon Su
 
PDF
GCP - GCE, Cloud SQL, Cloud Storage, BigQuery Basic Training
Simon Su
 
PDF
JCConf 2016 - Google Dataflow 小試
Simon Su
 
PDF
Brocade - Stingray Application Firewall
Simon Su
 
PDF
Google IO - When Bigquery meeet Node.js
Simon Su
 
From devOps to front end Ops, test first
Caesar Chi
 
PWA and Chatbot - with e-Commerce experience sharing
Caesar Chi
 
LoopBack: a productivity booster for MEAN
Miroslav Bajtoš
 
Working with LoopBack Models
Raymond Feng
 
Rapid API Development with LoopBack/StrongLoop
Raymond Camden
 
html5 & phonegap
Caesar Chi
 
中華電信 教育訓練
謝 宗穎
 
Google Cloud Platform 2014Q4
Simon Su
 
技術單兵作戰及團隊開發流程差異
Caesar Chi
 
GCPUG.TW - 2016活動討論
Simon Su
 
Developer team review of 2014
Caesar Chi
 
中原大學 Shift to cloud
Simon Su
 
為 Node.js 專案打造專屬管家進行開發流程整合及健康檢測
謝 宗穎
 
GCPUG.TW - 2015活動回顧
Simon Su
 
Web development, from git flow to github flow
Caesar Chi
 
JCConf 2015 - Google Dataflow 在雲端大資料處理的應用
Simon Su
 
GCP - GCE, Cloud SQL, Cloud Storage, BigQuery Basic Training
Simon Su
 
JCConf 2016 - Google Dataflow 小試
Simon Su
 
Brocade - Stingray Application Firewall
Simon Su
 
Google IO - When Bigquery meeet Node.js
Simon Su
 

Similar to Docker with Cloud Service GCPUG (20)

PPTX
Frontend devops-v1.0
Yan Wang
 
PDF
實踐 Clean Architecture(實作高可用性的軟件架構)
Gelis Wu
 
PDF
浅谈架构升级
Hardway Hou
 
PPTX
網站上線了,然後呢?
Kirk Chen
 
PDF
Ruby on rails部署
Deng Peng
 
PDF
From Coders to Builders of the Intelligent World
Huawei Technologies
 
PDF
Langchain and Azure ML and Open AI
Ko Ko
 
PDF
讓軟體開發與應用更自由 - 使用 Docker 技術
Yu Lung Shao
 
PPT
信息系统开发平台OpenExpressApp
zhoujg
 
PDF
91APP: 從 "零" 開始的 DevOps
Andrew Wu
 
PDF
給你一個使用 Laravel 的理由
Shengyou Fan
 
PDF
2023 08 - SRE 實踐與開發平台指南 - 書友見面會
Rick Hwang
 
PPT
Rest与面向资源的web开发
topgeek
 
PDF
Xpp
drewz lin
 
PPTX
J frog live demo ver4
Linktech
 
PPTX
DevOps的神鬼奇航
Edward Kuo
 
PPTX
01.uliweb介绍
modou li
 
PDF
2016-07-12 Introduction to Big Data Platform Security
Jazz Yao-Tsung Wang
 
PPTX
Docker技术介绍
LI jeanphorn
 
Frontend devops-v1.0
Yan Wang
 
實踐 Clean Architecture(實作高可用性的軟件架構)
Gelis Wu
 
浅谈架构升级
Hardway Hou
 
網站上線了,然後呢?
Kirk Chen
 
Ruby on rails部署
Deng Peng
 
From Coders to Builders of the Intelligent World
Huawei Technologies
 
Langchain and Azure ML and Open AI
Ko Ko
 
讓軟體開發與應用更自由 - 使用 Docker 技術
Yu Lung Shao
 
信息系统开发平台OpenExpressApp
zhoujg
 
91APP: 從 "零" 開始的 DevOps
Andrew Wu
 
給你一個使用 Laravel 的理由
Shengyou Fan
 
2023 08 - SRE 實踐與開發平台指南 - 書友見面會
Rick Hwang
 
Rest与面向资源的web开发
topgeek
 
J frog live demo ver4
Linktech
 
DevOps的神鬼奇航
Edward Kuo
 
01.uliweb介绍
modou li
 
2016-07-12 Introduction to Big Data Platform Security
Jazz Yao-Tsung Wang
 
Docker技术介绍
LI jeanphorn
 
Ad

More from Caesar Chi (17)

PDF
為何技術老人這樣想那樣做?
Caesar Chi
 
PDF
面試AI技術大進化,加速招聘軟體工程師的全套攻略!
Caesar Chi
 
PDF
初探工程師升級手冊 2022
Caesar Chi
 
PDF
預約及客服 LINE 服務串接大挑戰
Caesar Chi
 
PDF
Remote monitoring widget setup and customization
Caesar Chi
 
PDF
JS 從 Non-type 到 Type 的愛恨情仇
Caesar Chi
 
PDF
LINE@ 2.0 offline to online
Caesar Chi
 
PDF
Chatbot 智能溝通策 流程規劃與實做 e-Commerce Chatbot - AI strategy and Chat bot user flow
Caesar Chi
 
PDF
2014 jsconf China, Sharing
Caesar Chi
 
PDF
Node.js x Azure, cli usage, website deployment
Caesar Chi
 
PDF
MVC way to introduce Sails.js - node.js framework
Caesar Chi
 
PDF
node.js app deploy to heroku PaaS
Caesar Chi
 
PDF
Node realtime part
Caesar Chi
 
PDF
Node basic training
Caesar Chi
 
PDF
Minute for students occupy Taiwan's Legislature To protest China pact 2014
Caesar Chi
 
PDF
Node.js 台灣,社群經驗分享 201312
Caesar Chi
 
PDF
Angular mixed Sails, we are in MEAN stack
Caesar Chi
 
為何技術老人這樣想那樣做?
Caesar Chi
 
面試AI技術大進化,加速招聘軟體工程師的全套攻略!
Caesar Chi
 
初探工程師升級手冊 2022
Caesar Chi
 
預約及客服 LINE 服務串接大挑戰
Caesar Chi
 
Remote monitoring widget setup and customization
Caesar Chi
 
JS 從 Non-type 到 Type 的愛恨情仇
Caesar Chi
 
LINE@ 2.0 offline to online
Caesar Chi
 
Chatbot 智能溝通策 流程規劃與實做 e-Commerce Chatbot - AI strategy and Chat bot user flow
Caesar Chi
 
2014 jsconf China, Sharing
Caesar Chi
 
Node.js x Azure, cli usage, website deployment
Caesar Chi
 
MVC way to introduce Sails.js - node.js framework
Caesar Chi
 
node.js app deploy to heroku PaaS
Caesar Chi
 
Node realtime part
Caesar Chi
 
Node basic training
Caesar Chi
 
Minute for students occupy Taiwan's Legislature To protest China pact 2014
Caesar Chi
 
Node.js 台灣,社群經驗分享 201312
Caesar Chi
 
Angular mixed Sails, we are in MEAN stack
Caesar Chi
 
Ad

Docker with Cloud Service GCPUG