SlideShare ist ein Scribd-Unternehmen logo
1 von 41
輕鬆打造持續
整合開發環境
台灣攻城獅 Doro Wu | QNAP
使用 QNAP Docker
Doro Wu’s profile, https://github.com/fcwu
NAS
正常使用
• 備份資料
• 下載影片
• 看影片
自從知道 QNAP, A牌有支援 HDMI輸出後我就再才不
買 S 牌
攻城獅使用
• Busybox!!
• apt/yum !!
• HDD layout!!
攻城獅觀點
這什麼怪系統
(迷之音)
你可以抓他們的 toolchain
自己 build 你要的東西
(心理是這麼想)
不如
我買台機器自己灌個
Ubuntu 好了
AWS, linode, Azure…
Virtualization
• 虛擬化讓我可以跑各種作業
系統
• 基於 KVM
• 網頁可直接操作 VM
• 網頁可直接瀏覽桌面 (noVNC)
2014
2015
Container Station
• Light-weight, fast and small
• Same kernel
• Namespace, cgroup, capability
2015
One-Click App
一鍵架設 Docker Private Registry,GitLab,Joomla
Auto Configuration
$ docker run -p 6379 -v /data redis
ARM
LXC & Docker
輕鬆跑 Linux App真 OS
Containerized App
當一個 App 有多個 Containers 時,像 GitLab
Docker compose
搭建自己的 Docker App,照官方標準作法
Custom Repo
Container API
Docker Cert
持續整合發佈
工具
Tools for DevOps, http://newrelic.com/devops/toolset
QCS 我們用到了…
• Infrastructure
• Gitlab
• Jenkins
• Docker Private Registry
• Virtualization
• VirtualBox
• Vagrant
• Docker
• LXC
• Packer
• Configuration Management
• Docker Compose
• Ansible
• Fabric
• Document and Test
• Sphinx
持續整合環境
Jenkins
CI Server
Gitlab
VCS
Testbed
Docker
Private
Registry
Archive
polling
KVM
使用 QCS 輕鬆建立 CI 基礎設施
QNAP Container Station - Create CI Environment
https://youtu.be/434dTxMRyDs
Build
Jenkins
CI Server
Gitlab
VCS
Testbed
Archive
1. polling
KVM
2. Trigger
3. Pull
5. Build
6. Artifact
Docker
Private
Registry
4. Clone
• Docker image for building image
• Docker image for uploading artifact
Deploy
Jenkins
CI Server
Gitlab
VCS
Testbed
Archive
KVM
1. Trigger
2. Pull
3. Fetch
4. Deploy
Docker
Private
Registry
• Docker image for downloading artifact
• Docker image for deploying to target
Test
Jenkins
CI Server
Gitlab
VCS
Testbed
Archive
KVM
1. Trigger
2. Pull
4. Test
5. Report
Docker
Private
Registry
3. Clone
• Docker image for running test suits
• Docker image for uploading image
以Container Station 為例
• 所有行為皆在 Docker container 裡完成
• 需用到的 Docker images
• Build source code and Test
• Operate archive and Deploy
• Jenkins Job 自動更新 Docker images
Automate
Automate
Build
Automate
Deploy
Automate
Test
Automate
Rebuild Docker images
開發環境
VirtualBox + Vagrant
Building on NAS
Packer
template in
JSON
Run Packer
on LXC
Ubuntu
Provisioning
with Ansible
Vagrant box Upload
KVM in Docker
Running KVM in docker container with QNAP Container Station
https://youtu.be/gxhBcuIFAfU
Wrap Up
• Virtualization Station
• Container Station
• ARM
• One-click App
• Auto container configuration
• Continuous Integration
• Gitlab, Jenkins, Docker Private Registry
• Everything is running on container
dorowu@qnap.com or 104

Weitere ähnliche Inhalte

Was ist angesagt?

20150604 docker 新手入門
20150604 docker 新手入門20150604 docker 新手入門
20150604 docker 新手入門azole Lai
 
Linux 系列分享[1] 概览
Linux 系列分享[1]   概览Linux 系列分享[1]   概览
Linux 系列分享[1] 概览rainoxu
 
Docker Compose
Docker ComposeDocker Compose
Docker ComposeMiles Chou
 
從軟體開發角度
談 Docker 的應用
從軟體開發角度
談 Docker 的應用從軟體開發角度
談 Docker 的應用
從軟體開發角度
談 Docker 的應用謝 宗穎
 
Hyper: 让Pod以VM为边界
Hyper: 让Pod以VM为边界Hyper: 让Pod以VM为边界
Hyper: 让Pod以VM为边界Xu Wang
 
Docker tutorial
Docker tutorialDocker tutorial
Docker tutorialazole Lai
 
Docker 淺入淺出
Docker 淺入淺出Docker 淺入淺出
Docker 淺入淺出Miles Chou
 
AWS EC2 for beginner
AWS EC2 for beginnerAWS EC2 for beginner
AWS EC2 for beginnerazole Lai
 
認識那條鯨魚 Docker 初探
認識那條鯨魚   Docker 初探認識那條鯨魚   Docker 初探
認識那條鯨魚 Docker 初探仲昀 王
 
pyspider 介绍 - pycon2014@北京
pyspider 介绍 - pycon2014@北京pyspider 介绍 - pycon2014@北京
pyspider 介绍 - pycon2014@北京roybinux
 
容器式基礎架構介紹
容器式基礎架構介紹容器式基礎架構介紹
容器式基礎架構介紹Philip Zheng
 
Docker open stack
Docker open stackDocker open stack
Docker open stackGuangya Liu
 
Docker - 30秒生出100台伺服器
Docker - 30秒生出100台伺服器Docker - 30秒生出100台伺服器
Docker - 30秒生出100台伺服器升煌 黃
 
Docker集群管理 工具篇
Docker集群管理 工具篇Docker集群管理 工具篇
Docker集群管理 工具篇Guangya Liu
 
Docker一期培训
Docker一期培训Docker一期培训
Docker一期培训青帅 常
 
Deployment with Capistrano
Deployment with CapistranoDeployment with Capistrano
Deployment with Capistrano旭 張
 
Cinder isaci 实现原理详解
Cinder isaci 实现原理详解Cinder isaci 实现原理详解
Cinder isaci 实现原理详解Yong Luo
 

Was ist angesagt? (20)

20150604 docker 新手入門
20150604 docker 新手入門20150604 docker 新手入門
20150604 docker 新手入門
 
Linux 系列分享[1] 概览
Linux 系列分享[1]   概览Linux 系列分享[1]   概览
Linux 系列分享[1] 概览
 
Docker Compose
Docker ComposeDocker Compose
Docker Compose
 
從軟體開發角度
談 Docker 的應用
從軟體開發角度
談 Docker 的應用從軟體開發角度
談 Docker 的應用
從軟體開發角度
談 Docker 的應用
 
Linking error
Linking errorLinking error
Linking error
 
Hyper: 让Pod以VM为边界
Hyper: 让Pod以VM为边界Hyper: 让Pod以VM为边界
Hyper: 让Pod以VM为边界
 
Docker tutorial
Docker tutorialDocker tutorial
Docker tutorial
 
Docker Build
Docker BuildDocker Build
Docker Build
 
Docker 淺入淺出
Docker 淺入淺出Docker 淺入淺出
Docker 淺入淺出
 
AWS EC2 for beginner
AWS EC2 for beginnerAWS EC2 for beginner
AWS EC2 for beginner
 
認識那條鯨魚 Docker 初探
認識那條鯨魚   Docker 初探認識那條鯨魚   Docker 初探
認識那條鯨魚 Docker 初探
 
pyspider 介绍 - pycon2014@北京
pyspider 介绍 - pycon2014@北京pyspider 介绍 - pycon2014@北京
pyspider 介绍 - pycon2014@北京
 
容器式基礎架構介紹
容器式基礎架構介紹容器式基礎架構介紹
容器式基礎架構介紹
 
Docker 101
Docker 101Docker 101
Docker 101
 
Docker open stack
Docker open stackDocker open stack
Docker open stack
 
Docker - 30秒生出100台伺服器
Docker - 30秒生出100台伺服器Docker - 30秒生出100台伺服器
Docker - 30秒生出100台伺服器
 
Docker集群管理 工具篇
Docker集群管理 工具篇Docker集群管理 工具篇
Docker集群管理 工具篇
 
Docker一期培训
Docker一期培训Docker一期培训
Docker一期培训
 
Deployment with Capistrano
Deployment with CapistranoDeployment with Capistrano
Deployment with Capistrano
 
Cinder isaci 实现原理详解
Cinder isaci 实现原理详解Cinder isaci 实现原理详解
Cinder isaci 实现原理详解
 

Andere mochten auch

QNAP COSCUP Container Station
QNAP COSCUP Container StationQNAP COSCUP Container Station
QNAP COSCUP Container StationWu Fan-Cheng
 
Docker 初探,實驗室中的運貨鯨
Docker 初探,實驗室中的運貨鯨Docker 初探,實驗室中的運貨鯨
Docker 初探,實驗室中的運貨鯨Ruoshi Ling
 
Develop QNAP NAS App by Docker
Develop QNAP NAS App by DockerDevelop QNAP NAS App by Docker
Develop QNAP NAS App by DockerTerry Chen
 
Open stack architecture overview-meetup-6-6_2013
Open stack architecture overview-meetup-6-6_2013Open stack architecture overview-meetup-6-6_2013
Open stack architecture overview-meetup-6-6_2013Mirantis
 
Docker 基礎介紹與實戰
Docker 基礎介紹與實戰Docker 基礎介紹與實戰
Docker 基礎介紹與實戰Bo-Yi Wu
 
快速上手 Windows Containers 容器技術 (Docker Taipei)
快速上手 Windows Containers 容器技術 (Docker Taipei)快速上手 Windows Containers 容器技術 (Docker Taipei)
快速上手 Windows Containers 容器技術 (Docker Taipei)Will Huang
 
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲ChinaNetCloud
 
Visual Studio 2017 新功能探索 (Study4.TW)
Visual Studio 2017 新功能探索 (Study4.TW)Visual Studio 2017 新功能探索 (Study4.TW)
Visual Studio 2017 新功能探索 (Study4.TW)Will Huang
 

Andere mochten auch (9)

QNAP COSCUP Container Station
QNAP COSCUP Container StationQNAP COSCUP Container Station
QNAP COSCUP Container Station
 
Docker 初探,實驗室中的運貨鯨
Docker 初探,實驗室中的運貨鯨Docker 初探,實驗室中的運貨鯨
Docker 初探,實驗室中的運貨鯨
 
Develop QNAP NAS App by Docker
Develop QNAP NAS App by DockerDevelop QNAP NAS App by Docker
Develop QNAP NAS App by Docker
 
Open stack architecture overview-meetup-6-6_2013
Open stack architecture overview-meetup-6-6_2013Open stack architecture overview-meetup-6-6_2013
Open stack architecture overview-meetup-6-6_2013
 
Docker 基礎介紹與實戰
Docker 基礎介紹與實戰Docker 基礎介紹與實戰
Docker 基礎介紹與實戰
 
快速上手 Windows Containers 容器技術 (Docker Taipei)
快速上手 Windows Containers 容器技術 (Docker Taipei)快速上手 Windows Containers 容器技術 (Docker Taipei)
快速上手 Windows Containers 容器技術 (Docker Taipei)
 
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
 
Visual Studio 2017 新功能探索 (Study4.TW)
Visual Studio 2017 新功能探索 (Study4.TW)Visual Studio 2017 新功能探索 (Study4.TW)
Visual Studio 2017 新功能探索 (Study4.TW)
 
Cinder Updates - Liberty Edition
Cinder Updates - Liberty Edition Cinder Updates - Liberty Edition
Cinder Updates - Liberty Edition
 

Ähnlich wie QNAP MOPCON 2015 - 輕鬆打造持續整合開發環境,使用 QNAP Docker

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
 
寫出高性能的服務與應用 那些你沒想過的事
寫出高性能的服務與應用 那些你沒想過的事寫出高性能的服務與應用 那些你沒想過的事
寫出高性能的服務與應用 那些你沒想過的事Chieh (Jack) Yu
 
讓軟體開發與應用更自由 - 使用 Docker 技術
讓軟體開發與應用更自由 - 使用 Docker 技術讓軟體開發與應用更自由 - 使用 Docker 技術
讓軟體開發與應用更自由 - 使用 Docker 技術Yu Lung Shao
 
Weic2015 docker
Weic2015 dockerWeic2015 docker
Weic2015 dockerRay Lin
 
DRBL-live-hadoop at TSLC
DRBL-live-hadoop at TSLCDRBL-live-hadoop at TSLC
DRBL-live-hadoop at TSLCYu-Chin Tsai
 
以Code igniter為基礎的網頁前端程式設計
以Code igniter為基礎的網頁前端程式設計以Code igniter為基礎的網頁前端程式設計
以Code igniter為基礎的網頁前端程式設計Amigo 陳兆祥
 
Build desktop app_by_xulrunner
Build desktop app_by_xulrunnerBuild desktop app_by_xulrunner
Build desktop app_by_xulrunnerRack Lin
 
Windows Azure Virtual Machine Services for Developers
Windows Azure Virtual Machine Services for DevelopersWindows Azure Virtual Machine Services for Developers
Windows Azure Virtual Machine Services for DevelopersJeff Chu
 
2, installation
2, installation2, installation
2, installationted-xu
 
FBTUG - 當NAS遇見智慧農耕
FBTUG - 當NAS遇見智慧農耕FBTUG - 當NAS遇見智慧農耕
FBTUG - 當NAS遇見智慧農耕Jarvis Chung
 
FHIR Server 安裝與使用
FHIR Server 安裝與使用FHIR Server 安裝與使用
FHIR Server 安裝與使用Lorex L. Yang
 
DAE 新变化介绍
DAE 新变化介绍DAE 新变化介绍
DAE 新变化介绍Tianwei Liu
 
Configuration tutorial for pytorch environment under windows.pdf
Configuration tutorial for pytorch environment under windows.pdfConfiguration tutorial for pytorch environment under windows.pdf
Configuration tutorial for pytorch environment under windows.pdfshuaihaohan135
 
Artifacts management with CI and CD
Artifacts management with CI and CDArtifacts management with CI and CD
Artifacts management with CI and CDChen-Tien Tsai
 

Ähnlich wie QNAP MOPCON 2015 - 輕鬆打造持續整合開發環境,使用 QNAP Docker (20)

A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
 
寫出高性能的服務與應用 那些你沒想過的事
寫出高性能的服務與應用 那些你沒想過的事寫出高性能的服務與應用 那些你沒想過的事
寫出高性能的服務與應用 那些你沒想過的事
 
讓軟體開發與應用更自由 - 使用 Docker 技術
讓軟體開發與應用更自由 - 使用 Docker 技術讓軟體開發與應用更自由 - 使用 Docker 技術
讓軟體開發與應用更自由 - 使用 Docker 技術
 
Weic2015 docker
Weic2015 dockerWeic2015 docker
Weic2015 docker
 
DRBL-live-hadoop at TSLC
DRBL-live-hadoop at TSLCDRBL-live-hadoop at TSLC
DRBL-live-hadoop at TSLC
 
以Code igniter為基礎的網頁前端程式設計
以Code igniter為基礎的網頁前端程式設計以Code igniter為基礎的網頁前端程式設計
以Code igniter為基礎的網頁前端程式設計
 
cygwin安裝與vim
cygwin安裝與vimcygwin安裝與vim
cygwin安裝與vim
 
Build desktop app_by_xulrunner
Build desktop app_by_xulrunnerBuild desktop app_by_xulrunner
Build desktop app_by_xulrunner
 
UCloud
UCloudUCloud
UCloud
 
Windows Azure Virtual Machine Services for Developers
Windows Azure Virtual Machine Services for DevelopersWindows Azure Virtual Machine Services for Developers
Windows Azure Virtual Machine Services for Developers
 
2, installation
2, installation2, installation
2, installation
 
FBTUG - 當NAS遇見智慧農耕
FBTUG - 當NAS遇見智慧農耕FBTUG - 當NAS遇見智慧農耕
FBTUG - 當NAS遇見智慧農耕
 
FHIR Server 安裝與使用
FHIR Server 安裝與使用FHIR Server 安裝與使用
FHIR Server 安裝與使用
 
DAE 新变化介绍
DAE 新变化介绍DAE 新变化介绍
DAE 新变化介绍
 
美团技术团队 - KVM性能优化
美团技术团队 - KVM性能优化美团技术团队 - KVM性能优化
美团技术团队 - KVM性能优化
 
Configuration tutorial for pytorch environment under windows.pdf
Configuration tutorial for pytorch environment under windows.pdfConfiguration tutorial for pytorch environment under windows.pdf
Configuration tutorial for pytorch environment under windows.pdf
 
Ceph intro
Ceph introCeph intro
Ceph intro
 
Artifacts management with CI and CD
Artifacts management with CI and CDArtifacts management with CI and CD
Artifacts management with CI and CD
 
Linuxguide4f2e
Linuxguide4f2eLinuxguide4f2e
Linuxguide4f2e
 
LinuxGuide4F2E
LinuxGuide4F2ELinuxGuide4F2E
LinuxGuide4F2E
 

QNAP MOPCON 2015 - 輕鬆打造持續整合開發環境,使用 QNAP Docker

Hinweis der Redaktion

  1. Docker, Container Station
  2. 工作,專案 2 個主要 project 興趣跟現實總是有差距的
  3. Survey: 大部份的人都知道 NAS 1/10 的人擁有 NAS 儲存備分,VPN 虛擬化只有 ¼ 的有比較強烈需求 有人虛擬化需求卻買了另一家產品 ½ 有填 NAS HDMI 輸出需求調查 其中多數的人都需要 QvPC
  4. 6年前我的第一台 NAS
  5. 究竟 NAS 有多不正常