SlideShare ist ein Scribd-Unternehmen logo
1 von 49
Downloaden Sie, um offline zu lesen
從軟體開發⾓角度 
談 Docker 的應⽤用
about me 
• JAVA: 6 years 
• JS: 1 year 
• blog 
• linkedin 
• github 
• twitter
版本控制 
對開發⼈人員本⾝身來說
why need version control 
• 溝通 
• 合作 
• 可讀性 
• 回朔 
• 版本切換 
• 版本發佈 
• 同步
source version control
database version control
Environment version control
溝通 
跟開發⼈人員合作
開發者與開發者之間 
• Spec. 規格實例化 
• 規格的釐清 
• 確認需求 
• 前後端整合 
• 第三⽅方 API 串接
開發者與資料庫管理者 
• ORM Model 
• schema 
• 資料庫效能調教 
• 資料庫正規化 
• 報表製作
開發者與維運⼈人員
DevOps 
開發⼈人員維運⼈人員
• 系統環境規格 
• deploy 的⽅方式 
• production 環境建置 
• development 環境建置 
• 環境異常釐清
開發者維運⼈人員
Docker 
Build Ship Run Anything 
JAVA 
Write once, run anywhere
why use docker?
atomic 
find more services : https://registry.hub.docker.com/
same environment 
development production 
OSX UBUNTU 
developer A developer B
switch version
switch environment mode
想要同時擁有 
開發者維運⼈人員
docker hub
use Dockerfile
reusable 
sails framework 
ruby and nodejs 
ubuntu 14.04 
loopback 
ruby and nodejs 
ubuntu 14.04
extendable 
FROM smlsunxie/rudy-node:latest sails framework 
… 
ruby and nodejs 
ubuntu 14.04
readable 
FROM smlsunxie/rudy-node:latest sails framework 
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 
ruby and nodejs 
ubuntu 14.04
Build Ship Run Anything
all about docker 
push
我想要 
清楚好⽤用⼜又快速的...
使⽤用 docker 搭配 fig 簡化設定
simple 
• docker pull mysql:latest 
• docker run  
-p 3306:3306  
-v /data/mysql:/var/lib/mysql  
-e MYSQL_ROOT_PASSWORD=root  
mysql 
docker 
fig
easy
clear
dynamic 
• fig env document 
• 查詢所有環境變數:fig run SERVICE_NAME env
convenience 
Redis 
Mysql 
2.8 
5.7
one command start all services 
mysql redis 
myapp 
MQ server 
fig up myapp
Mobius CMS 
docker hackathon
plugin base framework
base on TDD
https://github.com/smlsunxie/mobius-cms
CMS 
modules 
concept 
plugin A 
plugin B
plugin indepand 
CMS 
modules 
run plugin
結論 
• 環境更統⼀一 
• 建置過程明確 
• 開發⼈人員與維運⼈人員可利⽤用 dockerfile 進⾏行溝通 
• 除了部署之外,docker 還有很多應⽤用 
• 再 fig 的幫助下,可以更有條理的使⽤用 docker
從軟體開發角度
談 Docker 的應用
從軟體開發角度
談 Docker 的應用

Weitere ähnliche Inhalte

Was ist angesagt?

Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Simplilearn
 
Docker Compose by Aanand Prasad
Docker Compose by Aanand Prasad Docker Compose by Aanand Prasad
Docker Compose by Aanand Prasad
Docker, Inc.
 

Was ist angesagt? (20)

Introduction to Docker Compose
Introduction to Docker ComposeIntroduction to Docker Compose
Introduction to Docker Compose
 
From Zero to Docker
From Zero to DockerFrom Zero to Docker
From Zero to Docker
 
Docker, mais qu’est-ce que c’est ?
Docker, mais qu’est-ce que c’est ?Docker, mais qu’est-ce que c’est ?
Docker, mais qu’est-ce que c’est ?
 
Intro to emberjs
Intro to emberjsIntro to emberjs
Intro to emberjs
 
Docker: From Zero to Hero
Docker: From Zero to HeroDocker: From Zero to Hero
Docker: From Zero to Hero
 
Docker Basics
Docker BasicsDocker Basics
Docker Basics
 
Docker 101 - from 0 to Docker in 30 minutes
Docker 101 - from 0 to Docker in 30 minutesDocker 101 - from 0 to Docker in 30 minutes
Docker 101 - from 0 to Docker in 30 minutes
 
Docker 101 - Getting started
Docker 101 - Getting startedDocker 101 - Getting started
Docker 101 - Getting started
 
Build RESTful API Using Express JS
Build RESTful API Using Express JSBuild RESTful API Using Express JS
Build RESTful API Using Express JS
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Introduction to container based virtualization with docker
Introduction to container based virtualization with dockerIntroduction to container based virtualization with docker
Introduction to container based virtualization with docker
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUG
 
Docker Containers Deep Dive
Docker Containers Deep DiveDocker Containers Deep Dive
Docker Containers Deep Dive
 
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
 
Introduction to Docker - 2017
Introduction to Docker - 2017Introduction to Docker - 2017
Introduction to Docker - 2017
 
Docker introduction (1)
Docker introduction (1)Docker introduction (1)
Docker introduction (1)
 
Docker introduction & benefits
Docker introduction & benefitsDocker introduction & benefits
Docker introduction & benefits
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Docker Compose by Aanand Prasad
Docker Compose by Aanand Prasad Docker Compose by Aanand Prasad
Docker Compose by Aanand Prasad
 
Why Users Are Moving on from Docker and Leaving Its Security Risks Behind (Sp...
Why Users Are Moving on from Docker and Leaving Its Security Risks Behind (Sp...Why Users Are Moving on from Docker and Leaving Its Security Risks Behind (Sp...
Why Users Are Moving on from Docker and Leaving Its Security Risks Behind (Sp...
 

Andere mochten auch

從 C 語言的角度入門 php
從 C 語言的角度入門 php從 C 語言的角度入門 php
從 C 語言的角度入門 php
Dylandy Chang
 
設計角度談Eee PC@2007 UI Gathering
設計角度談Eee PC@2007 UI Gathering設計角度談Eee PC@2007 UI Gathering
設計角度談Eee PC@2007 UI Gathering
Justin Lee
 
QM-065-從管理角度探討
QM-065-從管理角度探討QM-065-從管理角度探討
QM-065-從管理角度探討
handbook
 
2004ASAP從社會福利角度看菸害防制
2004ASAP從社會福利角度看菸害防制 2004ASAP從社會福利角度看菸害防制
2004ASAP從社會福利角度看菸害防制
None
 

Andere mochten auch (20)

從 C 語言的角度入門 php
從 C 語言的角度入門 php從 C 語言的角度入門 php
從 C 語言的角度入門 php
 
From finance to develop strategy 财务角度下的企业发展风险分析
From finance to develop strategy 财务角度下的企业发展风险分析From finance to develop strategy 财务角度下的企业发展风险分析
From finance to develop strategy 财务角度下的企业发展风险分析
 
從App developer角度來介紹BLE
從App developer角度來介紹BLE從App developer角度來介紹BLE
從App developer角度來介紹BLE
 
設計角度談Eee PC@2007 UI Gathering
設計角度談Eee PC@2007 UI Gathering設計角度談Eee PC@2007 UI Gathering
設計角度談Eee PC@2007 UI Gathering
 
等速圓周運動 角位移角速度數學方程
等速圓周運動 角位移角速度數學方程等速圓周運動 角位移角速度數學方程
等速圓周運動 角位移角速度數學方程
 
從技術角度看 RWD - Technical Approaches to RWD
從技術角度看 RWD - Technical Approaches to RWD從技術角度看 RWD - Technical Approaches to RWD
從技術角度看 RWD - Technical Approaches to RWD
 
由點、線至面:從影像分析角度探討漫畫的組成與風格-朱威達
由點、線至面:從影像分析角度探討漫畫的組成與風格-朱威達由點、線至面:從影像分析角度探討漫畫的組成與風格-朱威達
由點、線至面:從影像分析角度探討漫畫的組成與風格-朱威達
 
QM-065-從管理角度探討
QM-065-從管理角度探討QM-065-從管理角度探討
QM-065-從管理角度探討
 
怎麼看電影Day2 筆記整理 230116
怎麼看電影Day2  筆記整理 230116怎麼看電影Day2  筆記整理 230116
怎麼看電影Day2 筆記整理 230116
 
2016 05 17_如何自企業經營角度,以最小成本、最大戰力,作出國防兵力的調整
2016 05 17_如何自企業經營角度,以最小成本、最大戰力,作出國防兵力的調整2016 05 17_如何自企業經營角度,以最小成本、最大戰力,作出國防兵力的調整
2016 05 17_如何自企業經營角度,以最小成本、最大戰力,作出國防兵力的調整
 
igdshare 110220: 以傳統程式開發者角度切入 Unity3D
igdshare 110220: 以傳統程式開發者角度切入 Unity3Digdshare 110220: 以傳統程式開發者角度切入 Unity3D
igdshare 110220: 以傳統程式開發者角度切入 Unity3D
 
我的BDD實踐
我的BDD實踐我的BDD實踐
我的BDD實踐
 
TechShanghai2016 - 从全局角度实现IC、封装和PCB的协同优化
TechShanghai2016 - 从全局角度实现IC、封装和PCB的协同优化TechShanghai2016 - 从全局角度实现IC、封装和PCB的协同优化
TechShanghai2016 - 从全局角度实现IC、封装和PCB的协同优化
 
LWC18 編目館員看RDA的各種角度 報告人:國立臺灣大學圖書館書目服務組李明錦組長
LWC18 編目館員看RDA的各種角度 報告人:國立臺灣大學圖書館書目服務組李明錦組長LWC18 編目館員看RDA的各種角度 報告人:國立臺灣大學圖書館書目服務組李明錦組長
LWC18 編目館員看RDA的各種角度 報告人:國立臺灣大學圖書館書目服務組李明錦組長
 
2004ASAP從社會福利角度看菸害防制
2004ASAP從社會福利角度看菸害防制 2004ASAP從社會福利角度看菸害防制
2004ASAP從社會福利角度看菸害防制
 
淺談測試Part2
淺談測試Part2淺談測試Part2
淺談測試Part2
 
等速圓周運動 速率-加速度-數學方程
等速圓周運動 速率-加速度-數學方程等速圓周運動 速率-加速度-數學方程
等速圓周運動 速率-加速度-數學方程
 
功夫微講堂第四卷
功夫微講堂第四卷功夫微講堂第四卷
功夫微講堂第四卷
 
邏輯性簡報建構法課程簡介 / 商業簡報網-韓明文講師
邏輯性簡報建構法課程簡介 / 商業簡報網-韓明文講師邏輯性簡報建構法課程簡介 / 商業簡報網-韓明文講師
邏輯性簡報建構法課程簡介 / 商業簡報網-韓明文講師
 
從open data角度談網站api應用
從open data角度談網站api應用從open data角度談網站api應用
從open data角度談網站api應用
 

Ähnlich wie 從軟體開發角度
談 Docker 的應用

docker intro
docker introdocker intro
docker intro
koji lin
 
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
Wen-Tien Chang
 
Nodejs & NAE
Nodejs & NAENodejs & NAE
Nodejs & NAE
q3boy
 
2012 java two-desktop-appliction-using-j-ruby-with-swt
2012 java two-desktop-appliction-using-j-ruby-with-swt2012 java two-desktop-appliction-using-j-ruby-with-swt
2012 java two-desktop-appliction-using-j-ruby-with-swt
tka
 

Ähnlich wie 從軟體開發角度
談 Docker 的應用 (20)

docker intro
docker introdocker intro
docker intro
 
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
 
Docker基礎
Docker基礎Docker基礎
Docker基礎
 
讓軟體開發與應用更自由 - 使用 Docker 技術
讓軟體開發與應用更自由 - 使用 Docker 技術讓軟體開發與應用更自由 - 使用 Docker 技術
讓軟體開發與應用更自由 - 使用 Docker 技術
 
Docker 最佳实践
Docker 最佳实践Docker 最佳实践
Docker 最佳实践
 
合久必分,分久必合
合久必分,分久必合合久必分,分久必合
合久必分,分久必合
 
Gops2016 云端基于Docker的微服务与持续交付实践
Gops2016 云端基于Docker的微服务与持续交付实践Gops2016 云端基于Docker的微服务与持续交付实践
Gops2016 云端基于Docker的微服务与持续交付实践
 
DAE 新变化介绍
DAE 新变化介绍DAE 新变化介绍
DAE 新变化介绍
 
Docker容器微服務 x WorkShop
Docker容器微服務 x WorkShopDocker容器微服務 x WorkShop
Docker容器微服務 x WorkShop
 
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
 
Software Engineer Talk
Software Engineer TalkSoftware Engineer Talk
Software Engineer Talk
 
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
 
Full stack-development with node js
Full stack-development with node jsFull stack-development with node js
Full stack-development with node js
 
Nodejs & NAE
Nodejs & NAENodejs & NAE
Nodejs & NAE
 
專案啟動與設定
專案啟動與設定專案啟動與設定
專案啟動與設定
 
ASP.NET MVC 6 新功能探索
ASP.NET MVC 6 新功能探索ASP.NET MVC 6 新功能探索
ASP.NET MVC 6 新功能探索
 
2012 java two-desktop-appliction-using-j-ruby-with-swt
2012 java two-desktop-appliction-using-j-ruby-with-swt2012 java two-desktop-appliction-using-j-ruby-with-swt
2012 java two-desktop-appliction-using-j-ruby-with-swt
 
前端转行 DevOps 经验分享
前端转行 DevOps 经验分享前端转行 DevOps 经验分享
前端转行 DevOps 经验分享
 
Docker tutorial
Docker tutorialDocker tutorial
Docker tutorial
 
课题二:Node.js那些事儿
课题二:Node.js那些事儿课题二:Node.js那些事儿
课题二:Node.js那些事儿
 

Mehr von 謝 宗穎

Mehr von 謝 宗穎 (9)

為 Node.js 專案打造專屬管家進行開發流程整合及健康檢測
為 Node.js 專案打造專屬管家進行開發流程整合及健康檢測為 Node.js 專案打造專屬管家進行開發流程整合及健康檢測
為 Node.js 專案打造專屬管家進行開發流程整合及健康檢測
 
中華電信 教育訓練
中華電信 教育訓練中華電信 教育訓練
中華電信 教育訓練
 
DevOps 及 TDD 開發流程哲學
DevOps 及 TDD 開發流程哲學DevOps 及 TDD 開發流程哲學
DevOps 及 TDD 開發流程哲學
 
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
 
JCConf 2015 workshop 動手玩 Java 專案建置工具
JCConf 2015 workshop 動手玩 Java 專案建置工具JCConf 2015 workshop 動手玩 Java 專案建置工具
JCConf 2015 workshop 動手玩 Java 專案建置工具
 
JSDC 2015 - TDD 的開發哲學,以 Node.js 為例
JSDC 2015 - TDD 的開發哲學,以 Node.js 為例JSDC 2015 - TDD 的開發哲學,以 Node.js 為例
JSDC 2015 - TDD 的開發哲學,以 Node.js 為例
 
Scrum 開發流程導入經驗分享
Scrum 開發流程導入經驗分享Scrum 開發流程導入經驗分享
Scrum 開發流程導入經驗分享
 
TDD 實戰
TDD 實戰TDD 實戰
TDD 實戰
 
Sails.js Model / ORM introduce
Sails.js Model / ORM introduceSails.js Model / ORM introduce
Sails.js Model / ORM introduce
 

從軟體開發角度
談 Docker 的應用