核心概念
1. 鏡像
是一個隻讀的模闆類似于安裝系統用到的那個iso檔案我們通過鏡像來完成各種應用的部署。
2. docker容器
鏡像類似于作業系統而容器類似于虛拟機本身。它可以被啟動、開始、停止、删除等操作每個容器都是互相隔離的。
3. docker倉庫
存放鏡像的一個場所倉庫分為公開倉庫和私有倉庫。 最大的公開倉庫是Docker hubhub.docker.com國内公開倉庫http://dockerpool.com/
一、安裝
centos6 上安裝(6.5之前版本需要更新一下 yum update )
yum install -y epel-release
yum install -y docker-io
如果是centos7
yum install -y docker
啟動docker
/etc/init.d/docker start
二、鏡像管理
docker pull centos //從docker.com擷取centos鏡像如果太慢直接做個加速
先到 https://cr.console.aliyun.com/ 注冊一下,登入成功後,在控制台,看左側,有一個加速器按鈕,點開找到自己的專屬加速連結,我的是https://u6vpvkfn.mirror.aliyuncs.com
然後vi /etc/sysconfig/docker
最下面增加一行:
other_args="--registry-mirror=https://u6vpvkfn.mirror.aliyuncs.com"
docker images //檢視本地都有哪些鏡像
docker tag centos syk123 //為centos鏡像設定标簽為syk123再使用docker images檢視會多出來一行改行的image id和centos的一樣
docker search (image-name) //從docker倉庫搜尋docker鏡像後面是關鍵詞
docker run -t -i centos /bin/bash //用下載下傳到的鏡像開啟容器-i表示讓容器的标準輸入打開-t表示配置設定一個僞終端要把-i -t 放到鏡像名字前面
當該鏡像發生修改後我們可以把該鏡像送出重新生成一個新版本進行在本地。
docker ps //檢視運作的容器
docker rmi centos //用來删除指定鏡像 其中後面的參數可以是tag如果是tag時實際上是删除該tag隻要該鏡像還有其他tag就不會删除該鏡像。當後面的參數為鏡像ID時則會徹底删除整個鏡像連通所有标簽一同删除
docker ps -a //檢視所有容器包括已經退出的。
三、建立鏡像基于已有鏡像的容器建立
運作docker run後進入到該容器中我們做一些變更比如安裝一些東西然後針對這個容器進行建立新的鏡像
docker commit -m "change somth" -a "somebody info" image_id //通過docker images擷取id 新鏡像名字
例如 docker commit -m "install httpd" -a "syk" 2c74d574293f centos_net-tools
這個指令有點像svn的送出-m 加一些改動資訊-a 指定作者相關資訊 2c74d這一串為容器id再後面為新鏡像的名字
四、建立鏡像基于本地模闆導入
子產品擷取可以直接在網上下載下傳一個子產品 http://openvz.org/Download/templates/precreated
wget https://download.openvz.org/template/precreated/centos-6-x86-minimal.tar.gz
cat centos-6-x86.tar.gz |docker import - centos-6-x86
把現有鏡像導出為一個檔案
docker save -o syk-centos.tar centos-6-x86
我們還可以用該檔案恢複本地鏡像
docker load --input aming-centos.tar 或者
docker load < aming-centos.tar
docker push image_name //可以把自己的鏡像傳到dockerhub官方網站
本文轉自 sykmiao 51CTO部落格,原文連結:http://blog.51cto.com/syklinux/1860204,如需轉載請自行聯系原作者