docker介紹和使用

Docker是一種Linux容器管理引擎
Docker遵循Apache Lincense 2.0許可證協議
Go語言編寫
適合於Linux平臺
Docker是一種實現打包、輸送、裕興任意應用的容器解決方案
Linux容器技術有:Linux-VServer、OpenVZ和LXC等
Docker提供的容器服務基於Linux Container(LXC)
Linux容器最主要的特性是:
提供隔離的裕興環境(容器件、容器與宿主機間實現隔離)
資源使用受限


Docker提供隔離的運行環境
文件系統隔離
網絡隔離
進程號隔離
進程間通信隔離等

資源隔離
雲計算技術的基本需要
資源的種類需全面
CPU(CPU時間片、CPU核數)
內存(物理內存、Swap交換區存儲)
磁盤(磁盤容器、自盤I/O、磁盤inode)
網絡(網絡棧、網絡帶寬)
資源的分配策略
保留分配、設置上限
容器技術與雲計算
彈性伸縮能力
快速的資源分配(容器的快速部署能力)
橫向伸縮能力(同類容器的快速水平擴展)
縱向伸縮能力(容器資源的再分配能力)
資源監控(容器完善的監控緯度)
彈性伸縮策略


安全保障
數據的安全
權限的控制

Docker與雲計算
基本特性
資源隔離
彈性伸縮能力
安全保障
額外特性:
可移植的應用管理(Docker Hub)
從系統環境上打包應用,突破‘代碼即應用’(Docker Image)
彌合開發與運維的鴻溝

Docker的生態
鏡像標準與容器託管
基於Docker鏡像
鏡像打破‘代碼即應用’
代碼構建、持續集成/持續交付(CI/CD)
代表性公司:DaoCloud、Quay.IO等

鏡像容器的託管CaaS(Container - as - a -Service)
基於鏡像,提供完整、高性能的容器託管服務
容器種類:存儲類、系統類、應用類等


Docker的PaaS平臺
與iaaS結合,支持分佈式應用的原生管理
抽象基礎設置資源
提供分佈式配置、應用調度、服務發現等功能
利用Docker支持複雜應用和大型分佈式應用

編排、監控與管理
基於Docker的API提供強大的集羣管理能力
--Kubernetes
高效管理跨節點的容器化應用
提供容器應用的部署、維護和伸縮能力
cAdvisor,原生監控Docker容器運行狀態

--CoreOS
爲集羣化應用提供基礎設施
自動化應用部署
保障容器應用的安全性、可靠性、擴展性
支持Docker與Rocket(CoreOS公司的容器解決方案)

Docker鏡像使用
Dokcer Registry 提供鏡像下載
Docker Hub是Docker官方支持的鏡像倉庫

Docker Hub Mirror
緩存Docker Hub的鏡像
加速Docker Hub鏡像的獲取
加速器使用DaoCloud加速器 https://dashboard.daocloud.io/mirror 

點擊加速器-->使用複製配置加速器信息




docker使用
1、查詢鏡像
docker search 鏡像名
2、拉取鏡像
docker pull image名字
3、查看本地鏡像
docker images
4、查看本地工作空間所有鏡像
docker ps -a
查看本地工作空間最新鏡像
docker ps -l
查看當前運行的鏡像
docker ps 

5、運行鏡像
sudo docker run image名字
6、映射鏡像端口,例如:tomcat
sudo docker run -p 8080:8080 image名字
7、進入docker鏡像內部
docker attach image名字(containerID)


8、查看當前建立起來的容器
docker inspect image名字(containerID)


9、啓動時創建容器name
docker run -name=newName -i -t image名字 /bin/bash


10、重新運行已經停止的容器
docker start -i containerID

11、docker 刪除已經停止的容器
docker rm ContainerID


12、以守護形運行容器
docker run -i -t 啓動後ctrl+P ctrl+Q


13、查看docker容器內部的進程
docker top image名字(containerID或者name)

14、停止守護式容器
docker stop 容器名
docker kill 容器名


15、查看容器中的logs
docker logs image名字(containerID或者name)


16、啓動端口映射守護線程
docker run -p 8080:8080 -i -t docker.io/tomcat /bin/bash


17、查看docker的存儲驅動和存儲位置
docker info

18、docker刪除鏡像
docker rmi image_ ID

19、通過容器構建
docker commit


20、通過dckerfile文件構建
docker build

21、查看docker守護進程的運行狀態
ps -ef | grep docker 
sudo status docker 

22、docker啓動服務
docker run learn/tutorial echo 'hello world'


23、docker安裝ping命令
docker run learn/tutorial apt-get install -y ping


24、docker查看有哪些容器
docker ps -l


25、docker創建一個新的鏡像
docker commit 933be73e6f4d(根據docker ps -l查詢的id索引創建) learn/ping(鏡像名稱)


26、docker容器ping網站
docker run learn/ping ping www.baidu.com


27、docker查看所有運行的容器
docker ps --查看運行的容器


28、docker查看運行中的容器
docker inspect 容器id


29、docker將鏡像保存到遠程鏡像倉庫中去
docker push learn/ping(鏡像名稱)


30、消費鏡像提供的服務
docker ps -a -q|xargs docker stop


31、開起鏡像
docker run -d -i -t <imageID> /bin/bash


32、進入鏡像
docker attach <ContainerID>  

進入鏡像內部操作
1、docker run -i -t image名字 /bin/bash --進入鏡像內部
2、操作鏡像內部
ps -ef 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章