Docker是在Linux容器裏運行應用的開源工具,是一種輕量級的虛擬機。Docker的logo設計爲藍色鯨魚,拖着許多集裝箱。
鯨魚能夠看做爲宿主機,而集裝箱能夠理解爲相互隔離的容器,每一個集裝箱中都包含本身的應用程序。經過對應用組件的
封裝、發佈、部署、運行等生命週期的管理,達到應用組件級別的「一次封裝,處處運行」的目的。這裏的組件,既能夠是
一個應用,也能夠是一套服務,甚至是一個完整的操做系統。docker
Docker的鏡像是建立容器的基礎,相似虛擬機的快照,能夠理解爲是一個面向Docker容器引擎的只讀模板。Docker提供了
簡單的機制來建立和更新現有的鏡像,用於也能夠在網上下載已經作好的應用來直接使用。shell
Docker的容器是從鏡像建立的運行實例,它能夠被啓動、中止和刪除。所建立的每個容器都是相互隔離、互不相見的,
能夠保證平臺的安全性。還能夠把容器看做是一個簡易版的Linux環境,Docker利用容器來運行和隔離應用。vim
Docker倉庫是用來集中保存鏡像的地方,當建立了本身的鏡像以後,可使用push命令將它上傳到公共倉庫(public)
或者私有倉庫(private),這樣一來當下次要在另外一臺機器上使用這個鏡像的時候,只須要從倉庫pull下來就能夠了。centos
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
yum install docker-engine -y
systemctl start docker.service //啓動服務 systemctl enable docker.service //實現開機自動啓
docker version
Docker運行容器前須要本地存在對應的鏡像,若是不存在本地鏡像Docker就會嘗試從默認鏡像倉庫http://hub.docker.com
下載,在使用下載鏡像前,可使用docker search命令,搜索遠端官方倉庫中的共享鏡像。bash
docker search cobbler
搜索到符合需求的鏡像,可使用docker pull命令從網絡下載鏡像到本地使用網絡
命令格式:docker pull 倉庫名稱:[標籤]架構
docker pull jasonlix/docker-cobbler
命令語法:docker images 倉庫名稱:[標籤]ide
docker images
REPOSITORY ---鏡像屬於的倉庫 TAG ---鏡像的標籤信息,標記同一個倉庫中不一樣鏡像 IMAGE ID ---鏡像的惟一ID號,惟一標識了該鏡像 CREATED ---鏡像建立時間 SIZE ---鏡像大小
docker inspect 2211e1f06c4e
命令格式:docker tag 鏡像名稱:[標籤] 新名稱:[新標籤]工具
docker tag jasonlix/docker-cobbler cobbler
docker rmi cobbler
命令格式:docker save -o 存儲文件名 存儲的鏡像
docker save -o cobbler jasonlix/docker-cobbler
命令格式:docker load < 存出的鏡像文件
docker load < cobbler
命令格式:docker create [選項] 鏡像 運行的程序
-i:讓容器的輸入保持打開 -t:讓Docker分配一個僞終端
docker create -it jasonlix/docker-cobbler /bin/bash //產生一串序列號
docker ps -a //查看容器中全部進程
docker start a2c2df6c8246 //啓動容器
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 stop a2c2df6c8246
docker rm a2c2df6c8246
在docker中能夠經過--cpu-quota選項來限制cpu使用率,cpu的百分比是以1000爲單位的
docker run --cpu-quota 20000 centos(容器名) //cpu的使用率限定爲20%
docker run --cpu-shares 1024 容器A docker run --cpu-shares 1024 容器B docker run --cpu-shares 2048 容器C
docker run --cpuset-cpus 0,1,2,3 容器名
docker run -m 512m 容器名 //限制容器的內存爲512m
docker run --device-write-bps /dev/sda1:1mb 容器名 //限制容器的/dev/sda1的寫入ipos爲1MB