從軟體開發角度談 Docker 的應用
-
Upload
spooky-xie -
Category
Internet
-
view
5.706 -
download
2
Transcript of 從軟體開發角度談 Docker 的應用
![Page 1: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/1.jpg)
![Page 2: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/2.jpg)
從軟體開發⾓角度談 Docker 的應⽤用
![Page 3: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/3.jpg)
about me• JAVA: 6 years• JS: 1 year• blog• linkedin• github• twitter
![Page 4: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/4.jpg)
版本控制
對開發⼈人員本⾝身來說
![Page 5: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/5.jpg)
why need version control• 溝通• 合作• 可讀性• 回朔• 版本切換• 版本發佈• 同步
![Page 6: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/6.jpg)
![Page 7: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/7.jpg)
source version control
![Page 8: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/8.jpg)
database version control
![Page 9: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/9.jpg)
Environment version control
![Page 10: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/10.jpg)
溝通
跟開發⼈人員合作
![Page 11: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/11.jpg)
開發者與開發者之間• Spec. 規格實例化• 規格的釐清• 確認需求• 前後端整合• 第三⽅方 API 串接
![Page 12: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/12.jpg)
開發者與資料庫管理者• ORM Model• schema• 資料庫效能調教• 資料庫正規化• 報表製作
![Page 13: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/13.jpg)
開發者與維運⼈人員
![Page 14: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/14.jpg)
DevOps
開發⼈人員 維運⼈人員
![Page 15: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/15.jpg)
• 系統環境規格• deploy 的⽅方式• production 環境建置• development 環境建置• 環境異常釐清
![Page 16: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/16.jpg)
開發者 維運⼈人員
![Page 17: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/17.jpg)
DockerBuild Ship Run Anything JAVAWrite once, run anywhere
![Page 18: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/18.jpg)
why use docker?
![Page 20: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/20.jpg)
productiondevelopment
developer A developer B
OSX UBUNTU
same environment
![Page 21: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/21.jpg)
switch version
![Page 22: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/22.jpg)
switch environment mode
![Page 23: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/23.jpg)
想要同時擁有
開發者 維運⼈人員
![Page 24: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/24.jpg)
docker hub
![Page 25: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/25.jpg)
use Dockerfile
![Page 26: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/26.jpg)
reusable
ubuntu 14.04
ruby and nodejs
sails framework
ubuntu 14.04
ruby and nodejs
loopback
![Page 27: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/27.jpg)
extendable
ubuntu 14.04
ruby and nodejs
sails frameworkFROM smlsunxie/rudy-node:latest …
![Page 28: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/28.jpg)
readable
ubuntu 14.04
ruby and nodejs
sails frameworkFROM 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
![Page 29: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/29.jpg)
Build Ship Run Anything
![Page 30: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/30.jpg)
all about dockerpush
![Page 31: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/31.jpg)
我想要
清楚好⽤用⼜又快速的...
![Page 32: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/32.jpg)
使⽤用 docker 搭配 fig 簡化設定
![Page 33: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/33.jpg)
simple• docker pull mysql:latest• docker run \
-p 3306:3306 \-v /data/mysql:/var/lib/mysql \-e MYSQL_ROOT_PASSWORD=root \mysql
docker
fig
![Page 34: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/34.jpg)
easy
![Page 35: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/35.jpg)
clear
![Page 37: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/37.jpg)
convenience
Mysql
Redis
2.8
5.7
![Page 38: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/38.jpg)
one command start all services
mysql redis
myapp
MQ server
fig up myapp
![Page 39: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/39.jpg)
docker hackathon
Mobius CMS
![Page 40: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/40.jpg)
plugin base framework
![Page 41: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/41.jpg)
base on TDD
![Page 43: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/43.jpg)
CMS
modules
concept
plugin A
plugin B
![Page 44: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/44.jpg)
![Page 45: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/45.jpg)
CMS
modules
plugin indepand
run plugin
![Page 46: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/46.jpg)
![Page 47: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/47.jpg)
結論• 環境更統⼀一• 建置過程明確• 開發⼈人員與維運⼈人員可利⽤用 dockerfile 進⾏行溝通• 除了部署之外,docker 還有很多應⽤用• 再 fig 的幫助下,可以更有條理的使⽤用 docker
![Page 48: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/48.jpg)
![Page 49: 從軟體開發角度談 Docker 的應用](https://reader034.fdocuments.net/reader034/viewer/2022042605/58f9b399760da3da068bd7af/html5/thumbnails/49.jpg)