Docker架構、鏡像及容器

Docker概述

Docker是在Linux容器裏運行應用的開源工具,是一種輕量級的虛擬機。Docker的logo設計爲藍色鯨魚,拖着許多集裝箱。
鯨魚能夠看做爲宿主機,而集裝箱能夠理解爲相互隔離的容器,每一個集裝箱中都包含本身的應用程序。經過對應用組件的
封裝、發佈、部署、運行等生命週期的管理,達到應用組件級別的「一次封裝,處處運行」的目的。這裏的組件,既能夠是
一個應用,也能夠是一套服務,甚至是一個完整的操做系統。docker

Docker的核心概念及安裝

鏡像(Image)

Docker的鏡像是建立容器的基礎,相似虛擬機的快照,能夠理解爲是一個面向Docker容器引擎的只讀模板。Docker提供了
簡單的機制來建立和更新現有的鏡像,用於也能夠在網上下載已經作好的應用來直接使用。shell

容器(Container)

Docker的容器是從鏡像建立的運行實例,它能夠被啓動、中止和刪除。所建立的每個容器都是相互隔離、互不相見的,
能夠保證平臺的安全性。還能夠把容器看做是一個簡易版的Linux環境,Docker利用容器來運行和隔離應用。vim

倉庫(Repository)

Docker倉庫是用來集中保存鏡像的地方,當建立了本身的鏡像以後,可使用push命令將它上傳到公共倉庫(public)
或者私有倉庫(private),這樣一來當下次要在另外一臺機器上使用這個鏡像的時候,只須要從倉庫pull下來就能夠了。centos

安裝Docker

Docker支持在主流的操做系統平臺上使用,包括Windows系統、Linux系統、以及MacOS系統等。目前最新的Redhat、CentOS
以及Ubuntu系統官當軟件源中都已經默認自帶了Docker包,可直接安裝使用,也能夠用Docker本身的YUM源進行配置。安全

一、倉庫配置
cd /etc/yum.repos.d/
vim docker.repo

[docker]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg

Docker架構、鏡像及容器

二、安裝Docker
yum install docker-engine -y
安裝完成後啓動Docker並設置爲開機自動啓動
systemctl start docker.service       //啓動服務
systemctl enable docker.service       //實現開機自動啓
三、查看版本信息
docker version

Docker架構、鏡像及容器

Docker鏡像操做

一、搜索鏡像

Docker運行容器前須要本地存在對應的鏡像,若是不存在本地鏡像Docker就會嘗試從默認鏡像倉庫http://hub.docker.com
下載,在使用下載鏡像前,可使用docker search命令,搜索遠端官方倉庫中的共享鏡像。bash

docker search cobbler

Docker架構、鏡像及容器

二、獲取鏡像

搜索到符合需求的鏡像,可使用docker pull命令從網絡下載鏡像到本地使用網絡

命令格式:docker pull 倉庫名稱:[標籤]架構

docker pull jasonlix/docker-cobbler

Docker架構、鏡像及容器

三、查看鏡像信息

用戶可使用docker images命令查看下載到本地的全部鏡像。

命令語法:docker images 倉庫名稱:[標籤]ide

docker images

Docker架構、鏡像及容器

REPOSITORY ---鏡像屬於的倉庫
TAG ---鏡像的標籤信息,標記同一個倉庫中不一樣鏡像
IMAGE ID ---鏡像的惟一ID號,惟一標識了該鏡像
CREATED ---鏡像建立時間
SIZE ---鏡像大小
還能夠根據鏡像的惟一標識ID號,獲取鏡像詳細信息。
docker inspect 2211e1f06c4e

Docker架構、鏡像及容器

使用docker tag命令來爲本地的鏡像定義別名。

命令格式:docker tag 鏡像名稱:[標籤] 新名稱:[新標籤]工具

docker tag jasonlix/docker-cobbler cobbler

Docker架構、鏡像及容器

四、刪除鏡像

docker rmi cobbler

五、存出和載入鏡像

存出鏡像

命令格式:docker save -o 存儲文件名 存儲的鏡像

docker save -o cobbler jasonlix/docker-cobbler
載入鏡像

命令格式:docker load < 存出的鏡像文件

docker load < cobbler

Docker容器建立

一、容器的建立與啓動

命令格式:docker create [選項] 鏡像 運行的程序

-i:讓容器的輸入保持打開
-t:讓Docker分配一個僞終端
docker create -it jasonlix/docker-cobbler /bin/bash      //產生一串序列號
docker ps -a       //查看容器中全部進程

Docker架構、鏡像及容器

docker start a2c2df6c8246       //啓動容器

Docker架構、鏡像及容器

docker run jasonlix/docker-cobbler /usr/bin/bash -c ls /          //查看鏡像根目錄

Docker架構、鏡像及容器

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 stop a2c2df6c8246

三、容器的刪除

docker rm a2c2df6c8246

Docker資源控制

一、限制CPU使用速率

在docker中能夠經過--cpu-quota選項來限制cpu使用率,cpu的百分比是以1000爲單位的

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

二、按比例分享cpu

docker run --cpu-shares 1024 容器A
docker run --cpu-shares 1024 容器B
docker run --cpu-shares 2048 容器C

三、限制CPU內核使用

docker run --cpuset-cpus 0,1,2,3 容器名

四、對內存使用限制

docker run -m 512m 容器名        //限制容器的內存爲512m

五、對blkio的限制

docker run --device-write-bps /dev/sda1:1mb 容器名        //限制容器的/dev/sda1的寫入ipos爲1MB
相關文章
相關標籤/搜索