1.安裝dockerdocker
wget http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpmcentos
rpm -ivh epel-release-6-8.noarch.rpm bash
yum -y install docker-ioapp
yum -y install lxc libcgroupide
yum upgrade device-mapper-libssvn
2.開啓docker服務網站
/etc/init.d/docker startspa
ps -ef | grep dockerorm
3.啓動報錯
blog
relocation error: /usr/bin/docker: symbol dm_task_get_info_with_deferred_remove, version Base not defined in file libdev
解決方法:yum upgrade device-mapper-libs
http://yzg784534398.blog.51cto.com/9719002/1828159
4.Docker鏡像管理
docker pull centos #從docker.com獲取centos鏡像
docker p_w_picpaths #查看本地都有哪些鏡像
docker tag centos szk #爲centos鏡像設置標籤爲szk,再使用docker p_w_picpaths查看會多出來一行,改行的p_w_picpath id和centos的同樣
docker search (p_w_picpath-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 #查看全部容器,包括已經退出的。
5.基於已有鏡像的容器建立鏡像
運行docker run後,進入到該容器中,咱們作一些變動,好比安裝一些東西,而後針對這個容器進行建立新的鏡像
docker commit -m "change somth" -a "somebody info" p_w_picpath_id (經過docker p_w_picpaths獲取id) 新鏡像名字
例如:
docker commit -m "install httpd" -a "Aming" 2c74d574293f aming/centos
#這個命令有點像svn的提交,-m 加一些改動信息,-a 指定做者相關信息 2c74d這一串爲容器id,再後面爲新鏡像的名字
6.基於本地模板導入建立鏡像
模塊獲取地址:http://openvz.org/Download/templates/precreated
cat centos-6-x86_64-minimal.tar.gz |docker import - cnetos-6-x86_64
#使用一個centos6模板導入
docker p_w_picpaths #查看導入文件
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
cnetos-6-x86_64 latest f4bd4fe45d33 About a minute ago 326.4 MB
docker save -o centos.tar docker.io/centos
#把現有鏡像,導出爲一個文件,前面的生成的文件名,後面的源鏡像
ll -h #生成的文件在當前目錄下
-rw-r--r-- 1 root root 195M 3月 17 14:56 centos.tar
咱們還能夠用該文件恢復本地鏡像:
docker load --input centos.tar 或者
docker load < centos.tar
docker push centos.tar
#能夠把本身的鏡像傳到dockerhub官方網站上去,但前提是須要先註冊一個用戶,後續若是有需求再研究吧