天天看點

虛拟化技術—docker容器—安裝篇

核心概念

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,如需轉載請自行聯系原作者

繼續閱讀