天天看點

CenOS 6.5下安裝docker

Docker是一個開源的應用容器引擎,可以輕松的為任何應用建立一個輕量級的、可移植的、自給自足的容器。利用Linux的LXC、AUFS、Go語言、cgroup實作了資源的獨立,可以很輕松的實作檔案、資源、網絡等隔離,其最終的目标是實作類似PaaS平台的應用隔離。

    Docker值得關注的特性:

檔案系統隔離:每個程序容器運作在一個完全獨立的根檔案系統裡。

資源隔離:系統資源,像CPU和記憶體等可以配置設定到不同的容器中,使用cgroup。

網絡隔離:每個程序容器運作在自己的網絡空間,虛拟接口和IP位址。

日志記錄:Docker将會收集和記錄每個程序容器的标準流(stdout/stderr/stdin),用于實時檢索或批量檢索。

變更管理:容器檔案系統的變更可以送出到新的映像中,并可重複使用以建立更多的容器。無需使用模闆或手動配置。

互動式shell:Docker可以配置設定一個虛拟終端并關聯到任何容器的标準輸入上,例如運作一個一次***互shell。

    Docker通常用于如下場景:

web應用的自動化打包和釋出;

自動化測試和持續內建、釋出;

在服務型環境中部署和調整資料庫或其他的背景應用;

從頭編譯或者擴充現有的OpenShift或Cloud Foundry平台來搭建自己的PaaS環境。

    本文介紹如何在RedHat/CentOS環境下安裝Docker。官方文檔要求Linux kernel至少3.8以上,且docker隻能運作在64位的系統中。由于RHEL6和CentOS6的核心版本為2.6,是以必須要先更新核心。

    下面以CentOS6.5(64位)為例,介紹下docker安裝步驟和使用方法:

一、更新核心(帶aufs子產品)

    1、yum安裝帶aufs子產品的3.10核心(或到這裡下載下傳kernel手動安裝:http://down.51cto.com/data/1903250)

1

2

3

<code>cd</code> <code>/etc/yum</code><code>.repos.d </code>

<code>wget http:</code><code>//www</code><code>.hop5.</code><code>in</code><code>/yum/el6/hop5</code><code>.repo</code>

<code>yum </code><code>install</code> <code>kernel-ml-aufs kernel-ml-aufs-devel</code>

    2、修改grub的主配置檔案/etc/grub.conf,設定default=0,表示第一個title下的内容為預設啟動的kernel(一般新安裝的核心在第一個位置)。

    3、重新開機系統,這時候你的核心就成功更新了。

<code>[root@localhost ~]</code><code># uname -r</code>

<code>3.10.5-3.el6.x86_64</code>

    檢視核心是否支援aufs:

<code>[root@localhost ~]</code><code># grep aufs /proc/filesystems</code>

<code>nodev    aufs</code>

二、安裝docker

<code>    1、首先關閉selinux:</code>

<code>setenforce 0</code>

<code>sed</code> <code>-i </code><code>'/^SELINUX=/c\SELINUX=disabled'</code> <code>/etc/selinux/config</code>

<code></code>

    2、在Fedora EPEL源中已經提供了docker-io包,下載下傳安裝epel:

<code>rpm -ivh http:</code><code>//mirrors</code><code>.sohu.com</code><code>/fedora-epel/6/x86_64/epel-release-6-8</code><code>.noarch.rpm</code>

<code>sed</code> <code>-i </code><code>'s/^mirrorlist=https/mirrorlist=http/'</code> <code>/etc/yum</code><code>.repos.d</code><code>/epel</code><code>.repo</code>

    3、yum安裝docker-io:

<code>yum -y </code><code>install</code> <code>docker-io</code>

CenOS 6.5下安裝docker

    4、啟動docker:

<code>service docker start</code>

CenOS 6.5下安裝docker

    5、檢視docker版本:

CenOS 6.5下安裝docker

    檢視docker日志:

<code>cat</code> <code>/var/log/docker</code>

三、docker指令的使用

    1、直接輸入docker指令來檢視所有的Options和Commands。

    檢視某一個command的詳細使用方法:docker COMMAND --help

CenOS 6.5下安裝docker

    2、搜尋可用的docker鏡像:docker search NAME

CenOS 6.5下安裝docker

    3、下載下傳鏡像:docker pull NAME[:TAG]

    比如擷取最新的centos鏡像:docker pull centos:latest

    注意:這裡要寫用docker search搜尋到的完整的鏡像名。

    4、檢視安裝的鏡像:docker p_w_picpaths [NAME]

CenOS 6.5下安裝docker

    5、在docker容器中運作指令:docker run IMAGE [COMMAND] [ARG...]

    docker run指令有兩個參數,一個是鏡像名,一個是要在鏡像中運作的指令。

    注意:IMAGE=REPOSITORY[:TAG],如果IMAGE參數不指定鏡像的TAG,預設TAG為latest。

    在剛剛下載下傳的鏡像中輸出"hello word":docker run centos echo 'hello world!'

CenOS 6.5下安裝docker

    6、列出容器:docker ps -a

    檢視最近生成的容器:docker ps -l

    檢視正在運作的容器:docker ps

    7、顯示容器的标準輸出:docker logs CONTAINERID

    無需拷貝完整的id,一般寫最開始的三至四個字元即可。

CenOS 6.5下安裝docker

    8、在容器中安裝新程式,比如安裝ifconfig指令(centos7預設沒有ifconfig):docker run centos yum install net-tools -y

    如果yum不指定-y參數的話,yum指令會進入互動模式,需要使用者輸入指令來進行确認,在docker環境中是無法響應這種互動的。但使用docker run的-i -t參數就會響應這種互動,使用者可以輸入指令了,比如:docker run -i -t centos yum install net-tools

    9、儲存對容器的修改并生成新的鏡像:docker commit CONTAINERID [REPOSITORY[:TAG]]

    REPOSITORY參數可以是新的鏡像名字,也可以是舊的鏡像名;如果和舊的鏡像名和TAG都相同,會覆寫掉舊的鏡像。

CenOS 6.5下安裝docker

    10、停止正在運作的容器:docker stop CONTAINERID

    預設等待10秒鐘再殺死指定容器。可以使用-t參數來設定等待時間。

CenOS 6.5下安裝docker

    11、檢視容器或鏡像的詳細資訊:docker inspect CONTAINERID|IMAGE

    參數可以是容器的ID或者是鏡像名(NAME:TAG)。

CenOS 6.5下安裝docker

    12、删除容器:docker rm CONTAINERID

    檢視所有容器ID:docker ps -a -q

    删除所有的容器:docker rm $(docker ps -a -q)

    13、删除鏡像:docker rmi IMAGE

CenOS 6.5下安裝docker

    14.檢視docker的資訊,包括Containers和Images數目、kernel版本等。

CenOS 6.5下安裝docker

四、建立容器并登入的操作

    1、建立一個新容器并登入:docker run -i -t IMAGE /bin/bash

    使用p_w_picpath建立container并進入互動模式,login shell是/bin/bash,現在可以自由的對容器進行操作了。最後使用exit退出容器。

    注意:如果IMAGE參數不指定TAG,預設TAG為latest。

    2、啟動一個退出的容器:docker start CONTAINERID

    3、attach到運作中的容器:docker attach CONTAINERID

CenOS 6.5下安裝docker
上一篇: Ajax

繼續閱讀