SlideShare ist ein Scribd-Unternehmen logo
1 von 20
認識
JOHNNY.TSAI
https://www.facebook.com/icechai77
• 什麼是Docker?
• Docker 操作觀念
• Image
• Container
• Image建立與分享
什麼是Docker?
Docker
虛擬化 APP
VMware
虛擬化 OS
V S
小明的例子 ( 無Docker )
小明的雲端主機
Project B - python 網頁爬蟲
Project C - Git Server
DjangoPython 3
Cron job
Git Server
Project A - Java網站
TomcatJava 8
Apache
Nginx
小明的例子 ( Docker )
小明的雲端主機
Project A - Java網站
Project B - python 網頁爬蟲
Project C - Git Server
TomcatJava 8
DjangoPython 3
Cron job
Git Server
Apache
Nginx
Docker
小明的例子 ( Docker )
小明的雲端主機
Project A - Java網站
Project B - python 網頁爬蟲
Project C - Git Server
TomcatJava 8
DjangoPython 3
Cron job
Git Server
Apache
Nginx
Docker
Image & Container
• Image 就是包裝好App的一個檔案
• Image 被用來建立Container
• Container 是Docker用來實際執行應用的容器,
各自獨立
• 一個Image可以建立出多個Container
• Container移除後, 資料不會保留
狀況 A
MySQL Image
Container A Container B Container C
建立
Q : Container A 可以查詢到該筆資料嗎?
小明 insert 『我沒寫作業』到
Container B 和 Container C 的MySQL
狀況 B (接續狀況A)
Container A Container B Container C
小明移除Container C
Q : Container C的資料會保留下來嗎?
Q :可以救回Container C的資料嗎?
如何解決Container資料保留問題?
MySQL Image
Container D
建立
Docker
/data/mysql
MySQL datadir 掛載主機資料夾
Container D Container E
第一步 第二步 第三步
Container D掛載了主機資料夾 移除了Container D 重新建立ContainerE,
並掛載主機資料夾,
資料仍然還在
DEMO
Docker 建立 MySQL服務
如何安裝
sudo apt-get install docker.io
sudo usermod -aG docker <user>
使用者帳號加入至 docker 群組
Image
docker search <keyword>
搜尋 Repository
docker pull <image name>:<tag>
下載 Image
docker images
Image list
Image
docker rmi <image name>:<tag>
刪除 Image
Container
docker run -i –t <image name>:<tag>
建立Container並進入該container command line
docker run -i –t -p <host port>:<container port> 
<image name>:<tag>
Container port mapping (-p)
docker run -i –t –v <host path>:<container path> 
<image name>:<tag>
掛載資料夾 (-v)
Container
docker run -d <image name>:<tag>
背景持續執行
exit
Container內離開container並暫停該container
ctrl+p ctrl+q
Container內離開container, 但不暫停該container
Container
docker start/stop <container id>
重新啟動/暫停Container
docker attach <container id>
進入正在運行的Container command line
docker ps -a
列表所有的Container
Container
docker rm <container id>
刪除Container
建立 Image
docker commit –a “<author name>” <container id> 
<account>/<repository name>:<tag>
建立 Image
docker push <account>/<repository name>:<tag>
分享至 Docker Hub
Thanks

Weitere ähnliche Inhalte

Was ist angesagt?

版本控制 使用Git & git hub
版本控制   使用Git & git hub版本控制   使用Git & git hub
版本控制 使用Git & git hub
維佋 唐
 

Was ist angesagt? (20)

工程師必備第一工具 - Git
工程師必備第一工具 - Git工程師必備第一工具 - Git
工程師必備第一工具 - Git
 
連哈秋都懂的Git教學
連哈秋都懂的Git教學連哈秋都懂的Git教學
連哈秋都懂的Git教學
 
Linking error
Linking errorLinking error
Linking error
 
運用 Docker 整合 Laravel 提升團隊開發效率
運用 Docker 整合 Laravel 提升團隊開發效率運用 Docker 整合 Laravel 提升團隊開發效率
運用 Docker 整合 Laravel 提升團隊開發效率
 
Git 入門與實作
Git 入門與實作Git 入門與實作
Git 入門與實作
 
COSCUP 2016 Workshop: 用 Docker 架設班級 git-it 練習環境
COSCUP 2016 Workshop: 用 Docker 架設班級 git-it 練習環境COSCUP 2016 Workshop: 用 Docker 架設班級 git-it 練習環境
COSCUP 2016 Workshop: 用 Docker 架設班級 git-it 練習環境
 
Jenkins x GitLab CI
Jenkins x GitLab CIJenkins x GitLab CI
Jenkins x GitLab CI
 
企業導入容器經驗分享與開源技能培養
企業導入容器經驗分享與開源技能培養企業導入容器經驗分享與開源技能培養
企業導入容器經驗分享與開源技能培養
 
用 Go 語言 打造微服務架構
用 Go 語言打造微服務架構用 Go 語言打造微服務架構
用 Go 語言 打造微服務架構
 
Introduction to Golang final
Introduction to Golang final Introduction to Golang final
Introduction to Golang final
 
Git 版本控制 (使用教學)
Git 版本控制 (使用教學)Git 版本控制 (使用教學)
Git 版本控制 (使用教學)
 
版本控制 使用Git & git hub
版本控制   使用Git & git hub版本控制   使用Git & git hub
版本控制 使用Git & git hub
 
開發人員不可不知的 Windows Container 容器技術預覽
開發人員不可不知的 Windows Container 容器技術預覽開發人員不可不知的 Windows Container 容器技術預覽
開發人員不可不知的 Windows Container 容器技術預覽
 
Ansible & GitLab CI / CD Workshop 101 ( @Agile Tour Taipei 2017)
Ansible & GitLab CI / CD Workshop 101 ( @Agile Tour Taipei 2017)Ansible & GitLab CI / CD Workshop 101 ( @Agile Tour Taipei 2017)
Ansible & GitLab CI / CD Workshop 101 ( @Agile Tour Taipei 2017)
 
Git Tutorial 教學
Git Tutorial 教學Git Tutorial 教學
Git Tutorial 教學
 
Git基礎介紹
Git基礎介紹Git基礎介紹
Git基礎介紹
 
Is it really easy for companies to import Ansible automation
Is it really easy for companies to import Ansible automationIs it really easy for companies to import Ansible automation
Is it really easy for companies to import Ansible automation
 
用 Go 語言打造 DevOps Bot
用 Go 語言打造 DevOps Bot用 Go 語言打造 DevOps Bot
用 Go 語言打造 DevOps Bot
 
Ian 20150515 grunt
Ian 20150515 gruntIan 20150515 grunt
Ian 20150515 grunt
 
Git and Github basic with SourceTree
Git and Github basic with SourceTreeGit and Github basic with SourceTree
Git and Github basic with SourceTree
 

Andere mochten auch

Статистика роботи центрів травматерапії 03.2015-02.2017 рр.
Статистика роботи центрів травматерапії 03.2015-02.2017 рр.Статистика роботи центрів травматерапії 03.2015-02.2017 рр.
Статистика роботи центрів травматерапії 03.2015-02.2017 рр.
Олег Новак
 

Andere mochten auch (17)

How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
 
我把流量搞大了(台中前端社群2015/06/06分享)
我把流量搞大了(台中前端社群2015/06/06分享)我把流量搞大了(台中前端社群2015/06/06分享)
我把流量搞大了(台中前端社群2015/06/06分享)
 
2016年美國大選結果
2016年美國大選結果2016年美國大選結果
2016年美國大選結果
 
Como viaja el sonido clases 2 activ 8
Como viaja el sonido clases 2 activ 8Como viaja el sonido clases 2 activ 8
Como viaja el sonido clases 2 activ 8
 
Статистика роботи центрів травматерапії 03.2015-02.2017 рр.
Статистика роботи центрів травматерапії 03.2015-02.2017 рр.Статистика роботи центрів травматерапії 03.2015-02.2017 рр.
Статистика роботи центрів травматерапії 03.2015-02.2017 рр.
 
54 cbc0716 argamassas para reforço estrutural com incorporação de adições
54 cbc0716   argamassas para reforço estrutural com incorporação de adições54 cbc0716   argamassas para reforço estrutural com incorporação de adições
54 cbc0716 argamassas para reforço estrutural com incorporação de adições
 
Actividad 2.5 evaluación del estado de nutrición
Actividad 2.5 evaluación del estado de nutriciónActividad 2.5 evaluación del estado de nutrición
Actividad 2.5 evaluación del estado de nutrición
 
兒童期不良經驗(ACEs)簡介
兒童期不良經驗(ACEs)簡介兒童期不良經驗(ACEs)簡介
兒童期不良經驗(ACEs)簡介
 
Depth Creates No Bad Local Minimaの紹介
Depth Creates No Bad Local Minimaの紹介Depth Creates No Bad Local Minimaの紹介
Depth Creates No Bad Local Minimaの紹介
 
Чийрэгжүүлэлт
ЧийрэгжүүлэлтЧийрэгжүүлэлт
Чийрэгжүүлэлт
 
Proyecto 12
Proyecto 12Proyecto 12
Proyecto 12
 
Varicose Veins Surgery
Varicose Veins SurgeryVaricose Veins Surgery
Varicose Veins Surgery
 
付不出期刊費的時候,貧窮學生、科學家如何解決?
付不出期刊費的時候,貧窮學生、科學家如何解決?付不出期刊費的時候,貧窮學生、科學家如何解決?
付不出期刊費的時候,貧窮學生、科學家如何解決?
 
Vue js 大型專案架構
Vue js 大型專案架構Vue js 大型專案架構
Vue js 大型專案架構
 
DOCENTE
DOCENTEDOCENTE
DOCENTE
 
DOCENTE
DOCENTEDOCENTE
DOCENTE
 
Pca computo 2012
Pca computo 2012Pca computo 2012
Pca computo 2012
 

Ähnlich wie 認識 Docker

docker intro
docker introdocker intro
docker intro
koji lin
 

Ähnlich wie 認識 Docker (20)

Azure Container Registry(preview)x Web App On Linux(preview)
Azure Container Registry(preview)x Web App On Linux(preview)Azure Container Registry(preview)x Web App On Linux(preview)
Azure Container Registry(preview)x Web App On Linux(preview)
 
容器與 Gitlab CI 應用
容器與 Gitlab CI 應用容器與 Gitlab CI 應用
容器與 Gitlab CI 應用
 
Docker 淺入淺出
Docker 淺入淺出Docker 淺入淺出
Docker 淺入淺出
 
docker intro
docker introdocker intro
docker intro
 
Docker基礎
Docker基礎Docker基礎
Docker基礎
 
Software Engineer Talk
Software Engineer TalkSoftware Engineer Talk
Software Engineer Talk
 
20150604 docker 新手入門
20150604 docker 新手入門20150604 docker 新手入門
20150604 docker 新手入門
 
Docker Compose
Docker ComposeDocker Compose
Docker Compose
 
Gops2016 云端基于Docker的微服务与持续交付实践
Gops2016 云端基于Docker的微服务与持续交付实践Gops2016 云端基于Docker的微服务与持续交付实践
Gops2016 云端基于Docker的微服务与持续交付实践
 
Docker
DockerDocker
Docker
 
Docker open stack
Docker open stackDocker open stack
Docker open stack
 
桃園市教育局Docker技術入門與實作
桃園市教育局Docker技術入門與實作桃園市教育局Docker技術入門與實作
桃園市教育局Docker技術入門與實作
 
美团点评技术沙龙14美团云-Docker平台
美团点评技术沙龙14美团云-Docker平台美团点评技术沙龙14美团云-Docker平台
美团点评技术沙龙14美团云-Docker平台
 
1 docker风起云ppt v1
1 docker风起云ppt v11 docker风起云ppt v1
1 docker风起云ppt v1
 
Docker基礎
Docker基礎Docker基礎
Docker基礎
 
Docker容器微服務 x WorkShop
Docker容器微服務 x WorkShopDocker容器微服務 x WorkShop
Docker容器微服務 x WorkShop
 
Docker 最佳实践
Docker 最佳实践Docker 最佳实践
Docker 最佳实践
 
Docker應用
Docker應用Docker應用
Docker應用
 
Docker 123
Docker 123Docker 123
Docker 123
 
Beyond rails server
Beyond rails serverBeyond rails server
Beyond rails server
 

認識 Docker