時間:2017年04月27日星期四
說明:本文部份內容均來自慕課網。@慕課網:http://www.imooc.com
教學示例源碼:無
我的學習源碼:無java
Docker能火的緣由mysql
快速的持續集成 服務的彈性伸縮 部署簡單,解放運維 爲企業節省機器資源
課程內容linux
什麼是docker 理解docker 走進docker HelloWorld Nginx服務 docker化的Javaweb
Docker歷史nginx
2010 dotCloud PAAS 2013 docker開源 2014.6 Docker 1.0 2014.7 C輪 $4000萬 2015.4 D輪 $9500萬 至今Docker 1.13
什麼是Dockergit
docker是世界領先的軟件容器化平臺 docker公司開發,開源,託管在github上 跨平臺,支持Windows、Macos、Linux
docker思想github
集裝箱:容器 標準化:運輸方式、存儲方式、API接口 隔離:輕量級容器虛擬機技術
docker解決了什麼問題web
我本地運行沒問題啊:運行環境不一致的問題 系統好卡,哪一個哥們又寫死循環了:因爲單個應用佔用系統資源過大致使服務器掛掉從而致使同服務器其它應用掛掉的問題 雙11來了,服務器撐不住啦:使得服務器數量的增長變得簡單
核心概念sql
鏡像:集裝箱 倉庫:超級碼頭 容器:運行程序的地方
docker運行程序的過程docker
去倉庫把鏡像運到本地,用命令把鏡像運行起來變成容器。
分別講解核心概念數據庫
Build:構建鏡像 Ship:運輸鏡像,從倉庫和主機上運輸 Run:運行的鏡像,就是容器
docker鏡像的存儲方式
最底層:操做系統的引導
上面一層:具體的Linux操做系統
上面一層:具體的軟件,好比說JDK、Tomcat
上面一層:咱們本身的應用代碼
最上面一層:容器層
docker容器:本質是一個進程。相似虛擬機。
構建鏡像的目的:是爲了在其機器上運行鏡像程序。
docker倉庫
hub.docker.com c.163.com
windows
Win10以外: 下載地址:https://www.docker.com/products/docker-toolbox Win10: 下載地址:https://www.docker.com/products/docker#/windows
Macos
Yosemite 10.10.3+(2016/6): https://www.docker.com/products/docker#/mac 舊版本: 下載地址:https://www.docker.com/products/docker-toolbox
Linux
Redhat & CentOS 系統要求:64-bit OS and version 3.10 Ubuntu 系統要求:64-bit OS and version 3.10
安裝教程能夠參考
http://www.imooc.com/article/16448
安裝完成後
docker version:查看docker版本 service docker start:啓動docker服務
第一個docker鏡像
docker pull [OPTIONS] NAME[:TAG] 從倉庫拉取鏡像 docker images [OPTIONS][REPOSITORY[:TAG]] 查看本機的鏡像 默認去docker官方倉庫中拉取
運行docker鏡像命令
docker run [OPTIONS] IMAGE[:TAG][COMMAND] [ARG…]
docker鏡像運行流程:
實踐前奏
持久運行的容器 前臺掛起 & 後臺運行 進入容器內部
經常使用命令
docker run -d imagename 之後臺運行方式運行docker鏡像 docker ps 查看正在運行的容器 docker exec 查看運行容器的內部信息 docker exec -it CONTAINER ID bash 查看容器指定容器ID(CONTAINER ID)的信息
docker網絡
網絡類型:Bridge、Host、None 端口映射
docker網絡示意圖
docker run -d -p 8080:80 hub.c.163.com/library/nginx
運行nginx鏡像,並指定主機的端口。使用 –p 參數,冒號前面爲主機端口,後面爲容器端口。
具體詳細過程,請查看個人另外一篇文章
Linux_基於Docker快速搭建我的博客網站
製做本身的鏡像
dockerfile docker build Jpress: http://jpress.io/
編寫Dockerfile:建立一個名爲Dockerfile的文件,內容爲下
from hub.c.163.com/library/tomcat MAINTAINER zc zccoder@aliyun.com COPY jpress.war /usr/local/tomcat/webapps
使用build命令構建鏡像,並把鏡像命名爲jpress
docker build -t jpress:latest .
啓動構建好的鏡像
docker run -d -p 8888:8080 jpress
查看端口是否被佔用
netstat -na|grep 8888
安裝mysql
docker pull hub.c.163.com/library/mysql:latest
建立數據庫並啓動mysql
docker run --name dmysql -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=000000 -e MYSQL_DATABASE=jpress hub.c.163.com/library/mysql
配置jpress
查看本機實際IP地址
ifconfig
內容回顧
思想:集裝箱、標準化,隔離 鏡像(BUILD)、容器(SHIP)、倉庫(RUN) docker命令pull,build,run,stop,restart,exec…