Docker架構鏡像及容器管理

Docker概述

Docker 是一個開源的應用容器引擎,讓開發者能夠打包他們的應用以及依賴包到一個可移植的容器中,而後發佈到任何流行的 Linux 機器上,也能夠實現虛擬化。容器是徹底使用沙箱機制,相互之間不會有任何接口。
一個完整的Docker有如下幾個部分組成:
dockerClient客戶端
Docker Daemon守護進程
Docker Image鏡像
DockerContainer容器
Docker 架構
Docker 使用客戶端-服務器 (C/S) 架構模式,使用遠程API來管理和建立Docker容器。Docker 容器經過 Docker 鏡像來建立。容器與鏡像的關係相似於面向對象編程中的對象與類。
Docker採用 C/S架構 Docker daemon 做爲服務端接受來自客戶的請求,並處理這些請求(建立、運行、分發容器)。 客戶端和服務端既能夠運行在一個機器上,也可經過 socket 或者RESTful API 來進行通訊。
Docker daemon 通常在宿主主機後臺運行,等待接收來自客戶端的消息。 Docker 客戶端則爲用戶提供一系列可執行命令,用戶用這些命令實現跟 Docker daemon 交互。

Docker的核心概念

鏡像

相似於虛擬機的快照,能夠理解爲一個是面向Docker容器引擎的制度模板,好比一個鏡像能夠是一個完整的centos操做系統,也能夠從網上下docker

容器

容器是從鏡像建立的運行實力,它能夠被啓動中止,建立,刪除。每一個一個容器都是相互隔離,互不可見,能夠保證平臺的安全性,還能夠吧容器看作一個簡易版的Linux環境shell

倉庫

倉庫用來集中保存鏡像地方當建立了本身的鏡像後,可使用qush命令上傳到公共倉庫編程

Docker 特色
特色 Docker容器 虛擬機
啓動速度 秒級 分鐘級
計算機能力耗損 幾乎無 損耗50%左右
性能 接近原生 弱於
系統支持量(單機) 上千個 幾十個
隔離性 資源限制 徹底隔離

Docker安裝

配置倉庫vim

# vim /etc/yum.repos.d/ghostcloud.repo
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg

yum list

安裝Dockercentos

yum install docker-engine -y
systemctl start docker                    //啓動docker
systemctl enable docker.service    //設置開機自啓動
docker version                      //查看版本
docker info    //查看docker基本信息
Docker鏡像操做

搜索並獲取鏡像安全

docker search cobbler      //搜索關鍵字cobbler
docker pull jasonlix/docker-cobbler   //下載搜索出的結果

docker images //查看全部鏡像 (也能夠單獨查詢 後面跟倉庫名稱和標籤)bash

docker inspect //指定ID號查看 詳細信息
Docker架構鏡像及容器管理服務器

導入、導出、刪除鏡像
刪除以前確保沒有被容器使用,如有容器使用須要先刪除容器。

# docker rmi cobbler:cobbler  //刪除  注:當鏡像有多個標籤時只是刪除標籤 
存出鏡像和載入鏡像

# docker save -o cobbler jasonlix/docker-cobbler    //將本地鏡像存爲文件cobbler
# docker load < cobbler     //載入鏡像
或者
# docker --input cobller   //載入鏡像

Docker架構鏡像及容器管理

Docker架構鏡像及容器管理
Docker架構鏡像及容器管理
Docker架構鏡像及容器管理

容器建立

docker create -it jasonlix/docker-cobbler /bin/bash  會生一串序列號  
docker ps -a 查看容器中全部進程
docker start 啓動容器 跟ID號
docker stop 中止同期 跟ID號

Docker架構鏡像及容器管理

Docker架構鏡像及容器管理

docker run jasonlix/docker-cobbler /usr/bin/bash -c ls / 查看鏡像根目錄
docker run -d jasonlix/docker-cobbler /usr/bin/bash -c "while true;do echo htllo;done"  一直保持在啓動
docker ps -a  你要進入的序列號的狀態Up About a minute 或者Up 1 second 
docker exec -it 1c0b830793a7 /bin/bash  進入到容器中shell環境中前提是保持開啓狀態 exit退出

Docker架構鏡像及容器管理
Docker架構鏡像及容器管理
Docker架構鏡像及容器管理

Docker資源限制

限制CPU使用速率:架構

docker run --cpu-quota 20000 centos(容器名) //cpu的使用率限定爲20%socket

按比例分享CPU:

docker run --cpu-shares 1024 centos

限制CPU內核使用:

docker run --cpu-shares 1024 centos

限制CPU內核使用:

docker run --cpuset-cpus 0,1 centos //容器centos獨享 第1和第2個內核

限制內存使用:

docker run -m 512m centos //限制cents容器內存512M

對blkio限制:

限制容器的/dev/sda1 的寫入ipos爲1MB docker run --device-write-bps /dev/sda1:1mb centos

相關文章
相關標籤/搜索