SlideShare a Scribd company logo
1 of 21
Docker
10/28 8:00pm at I1-107
Deploy your app with container
About Me
ppodds, PP
中央資工 大二
GDSC 21 - 22 Core Team (NCU)
事務組工讀生
2021 新生知訊網 程設組組員
中央創遊 滑水仔
Agenda
❏Docker Introduction
❏Docker CLI
❏Deploy An App
❏Docker Compose
❏Docker VSCode Extension
• 一個容器虛擬化軟體
• 管理image和container
• 快速地建立、測試和部署應用程式
What Is Docker
Docker Image
有點像是磁碟映像檔(read-only)
會被Container當成模板來建立Container
可以用Dockerfile來設定建立image的流程
實際上有點像在堆積木把最後的image堆起來
AKA 映像
Docker Container
程式真正執行的環境,相互被隔離(但可以通訊)
啟動後可以修改內容,不過不會保存(除非你掛Volume)
用來建立服務或是跑app很方便
有獨立的環境不會被宿主機影響,省去環境架設麻煩
AKA 容器
Read/Writer
Container
Init (Read Only)
Image (Read Only)
More Behind Docker
• 根據不同作業系統實作
• Linux
• Linux Namespaces - 系統環境隔離 Network、PID...
• Linux Cgroup - 系統資源管理 CPU、RAM…
• Windows
• Hyper-V
• 骨子裡還是用Linux Kernal給的功能
More Behind Docker
From Wiki
More About Docker
• bridge - 預設值,網路橋接(流量轉發)
• host - 不隔離container的網路,直接接在主機上
• macvlan - 分配mac給container,模擬物理裝置
• overlay - 可以讓不同主機之間的container連線
• none - 關閉container的網路功能
overlay network reference:
https://ithelp.ithome.com.tw/articles/10193708
Network
More About Docker
• 允許container的資料被長期保存
• 避免container刪除後資料全部消失
• 可應用在建立程式執行環境上
實作方式
1. 把主機路徑上的硬碟掛到container上
2. 在Docker的管理下建立Volume,再丟給container使用
Volume
Docker Daemon
• Docker真正做事的部分
• 在系統上長期運作,並提供API給其他程式操作
• 底層架構都在這邊
Docker Client
• 提供CLI介面操作Docker
• 依靠API對Docker Daemon操作
Difference Between VM And Container
• VM
• 需要完整的作業系統
• 所需空間大
• 完全隔離系統資源
• Container
• 不需要完整的作業系統
• 所需空間小
• 底層還是在作業系統上跑
Why Docker?
• 部屬快
• 靈活配置環境且和宿主機隔離
• 啟動速度快
• 可以配合VM做應用
Docker Registry
• 用來存放Docker image
• 可以從雲端上面下載需要的image用
Docker Hub
• 官方提供的Docker Registry
• 可以下載多數人發布的image
• 找不到image的話Docker預設來這邊載
• 有很多官方image可以用
Install Docker
https://www.docker.com/get-started
Do By Yourself!
Your Halloween Gift!
Let Docker more easy
Docker VS Code Extension
Let Docker more easy
Docker VS Code Extension
• 用圖形化介面和Docker互動
• 快速檢視主機的Docker活動
• 可以直接瀏覽和下載Container檔案
• 可以用連線進入主機上的Container
• 直接用VS Code在Container內改程式
Docker超好用
- ppodds
按讚、訂閱、開啟小鈴鐺
還有表單記得填!
Contact Us
National Central University

More Related Content

What's hot

cec-hello-docker
cec-hello-dockercec-hello-docker
cec-hello-dockerBruce Huang
 
Docker 最佳实践
Docker 最佳实践Docker 最佳实践
Docker 最佳实践YuLing Liu
 
容器式基礎架構介紹
容器式基礎架構介紹容器式基礎架構介紹
容器式基礎架構介紹Philip Zheng
 
Docker - 30秒生出100台伺服器
Docker - 30秒生出100台伺服器Docker - 30秒生出100台伺服器
Docker - 30秒生出100台伺服器升煌 黃
 
Docker集群管理 工具篇
Docker集群管理 工具篇Docker集群管理 工具篇
Docker集群管理 工具篇Guangya Liu
 
認識那條鯨魚 Docker 初探
認識那條鯨魚   Docker 初探認識那條鯨魚   Docker 初探
認識那條鯨魚 Docker 初探仲昀 王
 
Docker + CI pipeline 的高效率 ChatBot 開發方法
Docker + CI pipeline 的高效率 ChatBot 開發方法Docker + CI pipeline 的高效率 ChatBot 開發方法
Docker + CI pipeline 的高效率 ChatBot 開發方法Philip Zheng
 
Docker open stack
Docker open stackDocker open stack
Docker open stackGuangya Liu
 
Kubeflow Machine Learning Toolkit for Kubernetes (SDN x Cloud Native Meetup #4)
Kubeflow Machine Learning Toolkit for Kubernetes (SDN x Cloud Native Meetup #4)Kubeflow Machine Learning Toolkit for Kubernetes (SDN x Cloud Native Meetup #4)
Kubeflow Machine Learning Toolkit for Kubernetes (SDN x Cloud Native Meetup #4)YIYANG Lin
 
Docker Compose
Docker ComposeDocker Compose
Docker ComposeMiles Chou
 
Linux Container Introduction
Linux Container IntroductionLinux Container Introduction
Linux Container Introduction家弘 周
 
Cloud Foundry Introduction
Cloud Foundry IntroductionCloud Foundry Introduction
Cloud Foundry Introduction家弘 周
 
Docker初识
Docker初识Docker初识
Docker初识hubugui
 
Docker 淺入淺出
Docker 淺入淺出Docker 淺入淺出
Docker 淺入淺出Miles Chou
 
Wot2013云计算架构师峰会 -陈轶飞2
Wot2013云计算架构师峰会 -陈轶飞2Wot2013云计算架构师峰会 -陈轶飞2
Wot2013云计算架构师峰会 -陈轶飞2dotCloud
 
開發人員必須知道的 Kubernetes 核心技術 - Kubernetes Summit 2018
開發人員必須知道的 Kubernetes 核心技術 - Kubernetes Summit 2018開發人員必須知道的 Kubernetes 核心技術 - Kubernetes Summit 2018
開發人員必須知道的 Kubernetes 核心技術 - Kubernetes Summit 2018Will Huang
 

What's hot (20)

cec-hello-docker
cec-hello-dockercec-hello-docker
cec-hello-docker
 
Docker 最佳实践
Docker 最佳实践Docker 最佳实践
Docker 最佳实践
 
容器式基礎架構介紹
容器式基礎架構介紹容器式基礎架構介紹
容器式基礎架構介紹
 
Docker - 30秒生出100台伺服器
Docker - 30秒生出100台伺服器Docker - 30秒生出100台伺服器
Docker - 30秒生出100台伺服器
 
Docker集群管理 工具篇
Docker集群管理 工具篇Docker集群管理 工具篇
Docker集群管理 工具篇
 
認識那條鯨魚 Docker 初探
認識那條鯨魚   Docker 初探認識那條鯨魚   Docker 初探
認識那條鯨魚 Docker 初探
 
Docker Build
Docker BuildDocker Build
Docker Build
 
Docker + CI pipeline 的高效率 ChatBot 開發方法
Docker + CI pipeline 的高效率 ChatBot 開發方法Docker + CI pipeline 的高效率 ChatBot 開發方法
Docker + CI pipeline 的高效率 ChatBot 開發方法
 
Docker基礎
Docker基礎Docker基礎
Docker基礎
 
Docker open stack
Docker open stackDocker open stack
Docker open stack
 
Kubeflow Machine Learning Toolkit for Kubernetes (SDN x Cloud Native Meetup #4)
Kubeflow Machine Learning Toolkit for Kubernetes (SDN x Cloud Native Meetup #4)Kubeflow Machine Learning Toolkit for Kubernetes (SDN x Cloud Native Meetup #4)
Kubeflow Machine Learning Toolkit for Kubernetes (SDN x Cloud Native Meetup #4)
 
Docker Compose
Docker ComposeDocker Compose
Docker Compose
 
Linux Container Introduction
Linux Container IntroductionLinux Container Introduction
Linux Container Introduction
 
Cloud Foundry Introduction
Cloud Foundry IntroductionCloud Foundry Introduction
Cloud Foundry Introduction
 
Docker初识
Docker初识Docker初识
Docker初识
 
Docker 淺入淺出
Docker 淺入淺出Docker 淺入淺出
Docker 淺入淺出
 
Wot2013云计算架构师峰会 -陈轶飞2
Wot2013云计算架构师峰会 -陈轶飞2Wot2013云计算架构师峰会 -陈轶飞2
Wot2013云计算架构师峰会 -陈轶飞2
 
Docker應用
Docker應用Docker應用
Docker應用
 
開發人員必須知道的 Kubernetes 核心技術 - Kubernetes Summit 2018
開發人員必須知道的 Kubernetes 核心技術 - Kubernetes Summit 2018開發人員必須知道的 Kubernetes 核心技術 - Kubernetes Summit 2018
開發人員必須知道的 Kubernetes 核心技術 - Kubernetes Summit 2018
 
Docker 101
Docker 101Docker 101
Docker 101
 

Similar to Docker

docker intro
docker introdocker intro
docker introkoji lin
 
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲ChinaNetCloud
 
Weic2015 docker
Weic2015 dockerWeic2015 docker
Weic2015 dockerRay Lin
 
Docker In-Depth
Docker In-DepthDocker In-Depth
Docker In-DepthDavid Hsu
 
美团点评技术沙龙14美团云-Docker平台
美团点评技术沙龙14美团云-Docker平台美团点评技术沙龙14美团云-Docker平台
美团点评技术沙龙14美团云-Docker平台美团点评技术团队
 
Rancher: 建立你的牧場艦隊
Rancher: 建立你的牧場艦隊Rancher: 建立你的牧場艦隊
Rancher: 建立你的牧場艦隊Miles Chou
 
20150604 docker 新手入門
20150604 docker 新手入門20150604 docker 新手入門
20150604 docker 新手入門azole Lai
 
Hyper 基于hypervisor的docker引擎.pptx
Hyper 基于hypervisor的docker引擎.pptxHyper 基于hypervisor的docker引擎.pptx
Hyper 基于hypervisor的docker引擎.pptxXu Wang
 
使用 Docker 建置 END OF LIFE 的 Ruby 開發環境
使用 Docker 建置 END OF LIFE 的 Ruby 開發環境使用 Docker 建置 END OF LIFE 的 Ruby 開發環境
使用 Docker 建置 END OF LIFE 的 Ruby 開發環境俊明 吳
 
1 docker风起云ppt v1
1 docker风起云ppt v11 docker风起云ppt v1
1 docker风起云ppt v1Jiang Shang
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to DockerChris Chen
 
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)Ch Rick
 
實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)
實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)
實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)Will Huang
 
Azure Container Service 使用 DC / OS 管理 docker 容器
Azure Container Service 使用 DC / OS 管理 docker 容器Azure Container Service 使用 DC / OS 管理 docker 容器
Azure Container Service 使用 DC / OS 管理 docker 容器Ch Rick
 
快速上手 Windows Containers 容器技術 (Docker Taipei)
快速上手 Windows Containers 容器技術 (Docker Taipei)快速上手 Windows Containers 容器技術 (Docker Taipei)
快速上手 Windows Containers 容器技術 (Docker Taipei)Will Huang
 

Similar to Docker (20)

Docker基礎
Docker基礎Docker基礎
Docker基礎
 
docker intro
docker introdocker intro
docker intro
 
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
 
Docker實務
Docker實務Docker實務
Docker實務
 
Weic2015 docker
Weic2015 dockerWeic2015 docker
Weic2015 docker
 
Docker In-Depth
Docker In-DepthDocker In-Depth
Docker In-Depth
 
美团点评技术沙龙14美团云-Docker平台
美团点评技术沙龙14美团云-Docker平台美团点评技术沙龙14美团云-Docker平台
美团点评技术沙龙14美团云-Docker平台
 
Rancher: 建立你的牧場艦隊
Rancher: 建立你的牧場艦隊Rancher: 建立你的牧場艦隊
Rancher: 建立你的牧場艦隊
 
認識 Docker
認識 Docker認識 Docker
認識 Docker
 
20150604 docker 新手入門
20150604 docker 新手入門20150604 docker 新手入門
20150604 docker 新手入門
 
Hyper 基于hypervisor的docker引擎.pptx
Hyper 基于hypervisor的docker引擎.pptxHyper 基于hypervisor的docker引擎.pptx
Hyper 基于hypervisor的docker引擎.pptx
 
使用 Docker 建置 END OF LIFE 的 Ruby 開發環境
使用 Docker 建置 END OF LIFE 的 Ruby 開發環境使用 Docker 建置 END OF LIFE 的 Ruby 開發環境
使用 Docker 建置 END OF LIFE 的 Ruby 開發環境
 
1 docker风起云ppt v1
1 docker风起云ppt v11 docker风起云ppt v1
1 docker风起云ppt v1
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
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)
 
Docker
DockerDocker
Docker
 
實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)
實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)
實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)
 
Azure Container Service 使用 DC / OS 管理 docker 容器
Azure Container Service 使用 DC / OS 管理 docker 容器Azure Container Service 使用 DC / OS 管理 docker 容器
Azure Container Service 使用 DC / OS 管理 docker 容器
 
快速上手 Windows Containers 容器技術 (Docker Taipei)
快速上手 Windows Containers 容器技術 (Docker Taipei)快速上手 Windows Containers 容器技術 (Docker Taipei)
快速上手 Windows Containers 容器技術 (Docker Taipei)
 
Linking error
Linking errorLinking error
Linking error
 

More from NCUDSC

LineBot.pptx
LineBot.pptxLineBot.pptx
LineBot.pptxNCUDSC
 
221013 GDSC Kotlin Basics.pptx
221013 GDSC Kotlin Basics.pptx221013 GDSC Kotlin Basics.pptx
221013 GDSC Kotlin Basics.pptxNCUDSC
 
GDSC NCU Flutter
GDSC NCU FlutterGDSC NCU Flutter
GDSC NCU FlutterNCUDSC
 
讓你的人工智慧更智慧 - Developer Student Clubs.pptx
讓你的人工智慧更智慧 - Developer Student Clubs.pptx讓你的人工智慧更智慧 - Developer Student Clubs.pptx
讓你的人工智慧更智慧 - Developer Student Clubs.pptxNCUDSC
 
Laravel II - Developer Student Clubs NCU.pdf
Laravel II - Developer Student Clubs NCU.pdfLaravel II - Developer Student Clubs NCU.pdf
Laravel II - Developer Student Clubs NCU.pdfNCUDSC
 
20220316 laravel I
20220316 laravel I20220316 laravel I
20220316 laravel INCUDSC
 
Gdsc is back!
Gdsc is back!Gdsc is back!
Gdsc is back!NCUDSC
 
Artificial intelligence in laboratory medicine clinical decision support-gd...
Artificial intelligence in laboratory medicine   clinical decision support-gd...Artificial intelligence in laboratory medicine   clinical decision support-gd...
Artificial intelligence in laboratory medicine clinical decision support-gd...NCUDSC
 
GDSC intro
GDSC introGDSC intro
GDSC introNCUDSC
 
NLP補充
NLP補充NLP補充
NLP補充NCUDSC
 
Big Query
Big QueryBig Query
Big QueryNCUDSC
 
Forensics 101 的副本
Forensics 101 的副本Forensics 101 的副本
Forensics 101 的副本NCUDSC
 

More from NCUDSC (12)

LineBot.pptx
LineBot.pptxLineBot.pptx
LineBot.pptx
 
221013 GDSC Kotlin Basics.pptx
221013 GDSC Kotlin Basics.pptx221013 GDSC Kotlin Basics.pptx
221013 GDSC Kotlin Basics.pptx
 
GDSC NCU Flutter
GDSC NCU FlutterGDSC NCU Flutter
GDSC NCU Flutter
 
讓你的人工智慧更智慧 - Developer Student Clubs.pptx
讓你的人工智慧更智慧 - Developer Student Clubs.pptx讓你的人工智慧更智慧 - Developer Student Clubs.pptx
讓你的人工智慧更智慧 - Developer Student Clubs.pptx
 
Laravel II - Developer Student Clubs NCU.pdf
Laravel II - Developer Student Clubs NCU.pdfLaravel II - Developer Student Clubs NCU.pdf
Laravel II - Developer Student Clubs NCU.pdf
 
20220316 laravel I
20220316 laravel I20220316 laravel I
20220316 laravel I
 
Gdsc is back!
Gdsc is back!Gdsc is back!
Gdsc is back!
 
Artificial intelligence in laboratory medicine clinical decision support-gd...
Artificial intelligence in laboratory medicine   clinical decision support-gd...Artificial intelligence in laboratory medicine   clinical decision support-gd...
Artificial intelligence in laboratory medicine clinical decision support-gd...
 
GDSC intro
GDSC introGDSC intro
GDSC intro
 
NLP補充
NLP補充NLP補充
NLP補充
 
Big Query
Big QueryBig Query
Big Query
 
Forensics 101 的副本
Forensics 101 的副本Forensics 101 的副本
Forensics 101 的副本
 

Docker