Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
新手入門	
  
Yiling	
  Lai	
  	
  2015/06/04	
  
指令練習	
  
h1ps://goo.gl/F6L5iy	
  
(h1ps://github.com/azole/docker-­‐demo)	
  
Development	
   Test	
   ProducJon	
  
Development	
   Test	
   ProducJon	
  
Container	
  
•  Container	
  技術則是直接將⼀一個應⽤用程式所
需的相關程式碼、函式庫、環境配置檔都
打包起來建⽴立沙箱執⾏行環境。 	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
 ...
貨櫃的故事	
  
h1p://mrjamie.cc/2011/09/21/shipping-­‐container/	
  
Image	
  and	
  Container
•  Image:	
  可用來重複建立自己需要的
container	
  
•  Container:	
  一個獨立的運行空間	
  	
  
docker run -it node:0...
啟動	
  node	
  的執行環境	
  
docker run -it node:0.10.38 /bin/bash
à 建立一個 container,內建有 node
0.10.38 的執行環境
-­‐t	
  選項讓Docker分配...
Image	
  
Container
Image	
  
PULL
RUN
Registry
Local
Image	
   Container
RUN
Container
RUN
Demo3	
  
Image	
  
Container
Image	
  
PULL
Container’
RUN
CHANGE
Image	
  
Commit
Registry
Local
Container (writable)
Base	
  Image:	
  CentOS
Read-­‐Write	
  	
  
Layer
Read-­‐Only	
  	
  
Image
1.1	
  執行	
  (run)	
  C...
Base	
  Image:	
  CentOS
Container: yum update
Read-­‐Write	
  	
  
Layer
Read-­‐Only	
  	
  
Image
1.1	
  執行	
  (run)	
  ...
Base	
  Image:	
  CentOS
Image	
  A:	
  Updated
Read-­‐Write	
  	
  
Layer
Read-­‐Only	
  	
  
Image
1.1	
  執行	
  (run)	
 ...
Base	
  Image:	
  CentOS
Image	
  A:	
  Updated
Read-­‐Write	
  	
  
Layer
Read-­‐Only	
  	
  
Image
2.1	
  執行	
  (run)	
 ...
Base	
  Image:	
  CentOS
Image	
  A:	
  Updated
Read-­‐Write	
  	
  
Layer
Read-­‐Only	
  	
  
Image
2.1	
  執行	
  (run)	
 ...
Base	
  Image:	
  CentOS
Image	
  A:	
  Updated
Read-­‐Write	
  	
  
Layer
Read-­‐Only	
  	
  
Image
2.1	
  執行	
  (run)	
 ...
Base	
  Image:	
  CentOS
Image	
  A:	
  Updated
Read-­‐Write	
  	
  
Layer
Read-­‐Only	
  	
  
Image
3.1	
  執行	
  (run)	
 ...
Base	
  Image:	
  CentOS
Image	
  A:	
  Updated
Read-­‐Write	
  	
  
Layer
Read-­‐Only	
  	
  
Image
3.1	
  執行	
  (run)	
 ...
Base	
  Image:	
  CentOS
Image	
  A:	
  Updated
Read-­‐Write	
  	
  
Layer
Read-­‐Only	
  	
  
Image
3.1	
  執行 (run)	
  im...
Base	
  Image:	
  CentOS
Image	
  A:	
  Updated
Read-­‐Write	
  	
  
Layer
Read-­‐Only	
  	
  
Image
3.1	
  執行 (run)	
  im...
Base	
  Image:	
  CentOS
Image	
  A:	
  Updated
Read-­‐Write	
  	
  
Layer
Read-­‐Only	
  	
  
Image
5.1	
  執行 (run)	
  im...
Base	
  Image:	
  CentOS
Image	
  A:	
  Updated
Read-­‐Write	
  	
  
Layer
Read-­‐Only	
  	
  
Image
5.1	
  執行 (run)	
  im...
基本概念
•  Image:	
  一個唯讀的模板,可用來建立
container。	
  
•  Container:	
  從	
  image	
  建立的執行實例,可以
被啟動、停止、刪除等,每個	
  container	
  之
間...
Image	
  
Container
Image	
  
PULL
Container’
RUN
CHANGE
Image	
  
Commit
PUSH
Registry
Local
Image	
  
Dockerfile
•  只是一個文字檔:	
  文件、版控、易於傳遞	
  
docker build -t azole/nginx .
# This is a nginx server
FROM debian
MAINTAINER azol...
Container
Websrv
Docker0 Bridge
(172.17.42.1)
docker	
  run	
  -­‐-­‐name	
  websrv	
  -­‐d	
  –p	
  8080:80	
  azole/ngin...
Container
Websrv
Docker0 Bridge
(172.17.42.1)
docker	
  run	
  -­‐-­‐name	
  websrv	
  -­‐d	
  -­‐p	
  8080:80	
  	
  -­‐-...
Container
Websrv
Docker0 Bridge
(172.17.42.1)
docker	
  run	
  -­‐-­‐name	
  webdb	
  -­‐d	
  redis	
  
docker	
  run	
  -...
boot2docker	
  
•  For	
  mac	
  and	
  windows	
  
docker client
Boot2docker VM (VirtualBox VM)
	
  
	
  
	
  
	
  
Docke...
•  boot2docker	
  init	
  
•  boot2docker	
  start	
  
•  boot2docker	
  shellinit	
  
•  boot2docker	
  ip	
  
To	
  conn...
 
	
  
	
  
Docker	
  Daemon	
  
Container Container Container
linux
eth0
docker client
Boot2docker VM (192.168.59.103)
	
...
極小化	
  redis	
  image	
  
•  請參考:追求極簡化	
  Docker	
  image	
  之路	
  -­‐	
  
William	
  Yeh	
  
參考資料	
  
•  10個Q&A快速認識Docker	
  
•  《Docker	
  ——	
  從⼊入⾨門到實踐-­‐》正體中⽂文版	
  
•  h1ps://github.com/William-­‐Yeh/docker-­‐
w...
指令練習	
  
•  h1ps://github.com/azole/docker-­‐demo/	
  
20150604 docker 新手入門
20150604 docker 新手入門
20150604 docker 新手入門
20150604 docker 新手入門
Próxima SlideShare
Cargando en…5
×

20150604 docker 新手入門

新手入門

  • Sé el primero en comentar

20150604 docker 新手入門

  1. 1. 新手入門   Yiling  Lai    2015/06/04  
  2. 2. 指令練習   h1ps://goo.gl/F6L5iy   (h1ps://github.com/azole/docker-­‐demo)  
  3. 3. Development   Test   ProducJon  
  4. 4. Development   Test   ProducJon  
  5. 5. Container   •  Container  技術則是直接將⼀一個應⽤用程式所 需的相關程式碼、函式庫、環境配置檔都 打包起來建⽴立沙箱執⾏行環境。                                                                                                                            -­‐  10個Q&A快速認識Docker  
  6. 6. 貨櫃的故事   h1p://mrjamie.cc/2011/09/21/shipping-­‐container/  
  7. 7. Image  and  Container •  Image:  可用來重複建立自己需要的 container   •  Container:  一個獨立的運行空間     docker run -it node:0.10.38 /bin/bash Image   Container RUN Demo1,  Demo2  
  8. 8. 啟動  node  的執行環境   docker run -it node:0.10.38 /bin/bash à 建立一個 container,內建有 node 0.10.38 的執行環境 -­‐t  選項讓Docker分配⼀一個虛擬終端(pseudo-­‐1y)並綁定到容器的標準輸⼊入上   -­‐i  則讓容器的標準輸⼊入保持打開  
  9. 9. Image   Container Image   PULL RUN Registry Local
  10. 10. Image   Container RUN Container RUN Demo3  
  11. 11. Image   Container Image   PULL Container’ RUN CHANGE Image   Commit Registry Local
  12. 12. Container (writable) Base  Image:  CentOS Read-­‐Write     Layer Read-­‐Only     Image 1.1  執行  (run)  CentOS  image  à  container  
  13. 13. Base  Image:  CentOS Container: yum update Read-­‐Write     Layer Read-­‐Only     Image 1.1  執行  (run)  CentOS  image  à  container   1.2  進行更新  yum  update  
  14. 14. Base  Image:  CentOS Image  A:  Updated Read-­‐Write     Layer Read-­‐Only     Image 1.1  執行  (run)  CentOS  image  à  container   1.2  進行更新  yum  update   1.3  存成(commit)  image  à  只會存  diff                à  現在有    2  個不同的  images        à  Base  Image  為  Image  A  的  Parent 參考 parent   Image
  15. 15. Base  Image:  CentOS Image  A:  Updated Read-­‐Write     Layer Read-­‐Only     Image 2.1  執行  (run)  image  A  à  container                à  會連  Base  Image  都載入   Container 參考 parent   Image
  16. 16. Base  Image:  CentOS Image  A:  Updated Read-­‐Write     Layer Read-­‐Only     Image 2.1  執行  (run)  image  A  à  container   2.2  安裝  apache   Install Apache 參考 parent   Image
  17. 17. Base  Image:  CentOS Image  A:  Updated Read-­‐Write     Layer Read-­‐Only     Image 2.1  執行  (run)  image  A  à  container   2.2  安裝  apache   2.3  存成(commit)  image  B                à  只存  diff                à  A  為  B  的 Parent  Image Image  B:  Apache 參考 parent   Image 參考 parent   Image
  18. 18. Base  Image:  CentOS Image  A:  Updated Read-­‐Write     Layer Read-­‐Only     Image 3.1  執行  (run)  image  B  à  container                à  載入  Base  Image  &  Image  A   Image  B:  Apache Container 參考 parent   Image 參考 parent   Image
  19. 19. Base  Image:  CentOS Image  A:  Updated Read-­‐Write     Layer Read-­‐Only     Image 3.1  執行  (run)  image  B  à  container   3.2  安裝  PHP  5.3   Image  B:  Apache PHP 5.3 參考 parent   Image 參考 parent   Image
  20. 20. Base  Image:  CentOS Image  A:  Updated Read-­‐Write     Layer Read-­‐Only     Image 3.1  執行 (run)  image  B  à  container   3.2  安裝  PHP  5.3   4.1  執行 (run)  image  B  à  container   Image  B:  Apache PHP 5.3 Container 參考 parent   Image 參考 parent   Image
  21. 21. Base  Image:  CentOS Image  A:  Updated Read-­‐Write     Layer Read-­‐Only     Image 3.1  執行 (run)  image  B  à  container   3.2  安裝  PHP  5.3   4.1  執行 (run)  image  B  à  container   4.2  安裝  PHP  5.4   Image  B:  Apache PHP 5.3 PHP 5.4 參考 parent   Image 參考 parent   Image
  22. 22. Base  Image:  CentOS Image  A:  Updated Read-­‐Write     Layer Read-­‐Only     Image 5.1  執行 (run)  image  A  à  container   Image  B:  Apache PHP 5.3 PHP 5.4 Container 參考 parent   Image 參考 parent   Image
  23. 23. Base  Image:  CentOS Image  A:  Updated Read-­‐Write     Layer Read-­‐Only     Image 5.1  執行 (run)  image  A  à  container   5.2  安裝  Nginx     Image  B:  Apache PHP 5.3 PHP 5.4 Nginx
  24. 24. 基本概念 •  Image:  一個唯讀的模板,可用來建立 container。   •  Container:  從  image  建立的執行實例,可以 被啟動、停止、刪除等,每個  container  之 間都是隔離的。   •  Repository:  類似 git,裡頭有許多  image  可 供使用。   – 公開的:Docker  Hub    (類似 github)   – 私有:可以透過  docker-­‐registry  建立    
  25. 25. Image   Container Image   PULL Container’ RUN CHANGE Image   Commit PUSH Registry Local Image  
  26. 26. Dockerfile •  只是一個文字檔:  文件、版控、易於傳遞   docker build -t azole/nginx . # This is a nginx server FROM debian MAINTAINER azole <azole@pchome.com.tw> RUN apt-get -qq update RUN apt-get -y install nginx EXPOSE 80 CMD ["nginx", "-g", "daemon off;"] Image  Dockerfile BUILD Demo4  
  27. 27. Container Websrv Docker0 Bridge (172.17.42.1) docker  run  -­‐-­‐name  websrv  -­‐d  –p  8080:80  azole/nginx   eth0 eth0 Host port  80 port  8080 Demo5  
  28. 28. Container Websrv Docker0 Bridge (172.17.42.1) docker  run  -­‐-­‐name  websrv  -­‐d  -­‐p  8080:80    -­‐-­‐privileged=true            -­‐v  /home/azole/websrv:/var/www/html  azole/nginx eth0 eth0 Host port  80 port  49161 Local  FS webapp1 webapp2 webapp3 path/www Demo6  
  29. 29. Container Websrv Docker0 Bridge (172.17.42.1) docker  run  -­‐-­‐name  webdb  -­‐d  redis   docker  run  -­‐-­‐name  websrv  -­‐d  -­‐P  -­‐-­‐link  webdb:mysql            -­‐v  /home/azole/webapp2:/var/www/html            -­‐-­‐privileged  =true  azole/nginx eth0 eth0 Host port  80 port  49161 Link Local  FS webapp1 webapp2 webapp3 path/www Container webdb Demo7  
  30. 30. boot2docker   •  For  mac  and  windows   docker client Boot2docker VM (VirtualBox VM)         Docker  Daemon   Container Container Container mac  /  windows
  31. 31. •  boot2docker  init   •  boot2docker  start   •  boot2docker  shellinit   •  boot2docker  ip   To  connect  the  Docker  client  to  the  Docker  daemon,  please  set:          export  DOCKER_HOST=tcp://192.168.59.103:2376          export  DOCKER_CERT_PATH=/Users/mtk10862/.boot2docker/certs/boot2docker-­‐vm          export  DOCKER_TLS_VERIFY=1  
  32. 32.       Docker  Daemon   Container Container Container linux eth0 docker client Boot2docker VM (192.168.59.103)       Docker  Daemon   Container Container Container mac  /  windows eth0 http://192.168.59.103:49154 docker client http://localhost:49154
  33. 33. 極小化  redis  image   •  請參考:追求極簡化  Docker  image  之路  -­‐   William  Yeh  
  34. 34. 參考資料   •  10個Q&A快速認識Docker   •  《Docker  ——  從⼊入⾨門到實踐-­‐》正體中⽂文版   •  h1ps://github.com/William-­‐Yeh/docker-­‐ workshop   •  追求極簡化  Docker  image  之路  -­‐  William  Yeh  
  35. 35. 指令練習   •  h1ps://github.com/azole/docker-­‐demo/  

    Sé el primero en comentar

    Inicia sesión para ver los comentarios

  • NeoChoi

    Jun. 5, 2015
  • yujyunciou1987

    Jun. 5, 2015
  • seamoonblue

    Jun. 5, 2015
  • ssuser8426a5

    Jun. 6, 2015
  • derekliu756

    Jun. 6, 2015
  • dayochoul

    Jun. 7, 2015
  • PosenChen

    Jun. 17, 2015
  • ghosttw88

    Jul. 14, 2015
  • verylayout

    Jul. 21, 2015
  • RieSawada

    Aug. 6, 2015
  • bestlong

    Jan. 16, 2016
  • showsky

    Jan. 19, 2016
  • xijunyou

    Jan. 27, 2016
  • bruschen

    Jan. 27, 2016
  • lisa461

    Jan. 27, 2016
  • LyonWang

    Jan. 28, 2016
  • flei_98

    Feb. 5, 2016
  • brian479974

    May. 18, 2016
  • YenHaoHuang1

    Aug. 17, 2016
  • ZCYeh

    Aug. 26, 2017

新手入門

Vistas

Total de vistas

3.091

En Slideshare

0

De embebidos

0

Número de embebidos

20

Acciones

Descargas

130

Compartidos

0

Comentarios

0

Me gusta

36

×