Docker是一個用了一種新穎方式實現的超輕量虛擬機,在實現的原理和應用上還是和VM有巨大差別,專業的叫法是應用容器(Application Container)。(我個人還是喜歡稱虛擬機)
Docker應用容器相對于 VM 有以下幾個優點:
Docker安裝
CentOS6上安裝Docker
# yum -y install epel-release# yum -y install docker-io
CentOS7上安裝Docker
# yum -y install docker
啟動Docker
# /etc/init.d/docker start
如果啟動后無進程,日志中出現:
/usr/bin/docker: relocation error: /usr/bin/docker: symbol dm_task_get_info_with_deferred_remove, version Base not defined in file libdevmapper.so.1.02 with link time reference
解決辦法:
# yum upgrade device-mapper-libs
Docker鏡像管理
# docker pull centos //從docker.com獲取centos鏡像# docker images //查看本地都有哪些鏡像# docker tag centos fansik //為centos鏡像設置標簽為fansik,再使用docker images查看會多出來一行,該行的image id和centos的一樣# docker search [image-name] //從docker倉庫搜索docker鏡像,后面是關鍵詞# docker run -t -i centos /bin/bash //用下載到的鏡像開啟容器,-i表示讓容器的標準輸入打開,-t表示分配一個偽終端,要把-i和-t放在鏡像名字前面
當鏡像發生修改后,我們可以把鏡像提交重新生成一個新版本進行再本地
docker ps //查看運行的容器,加上-a選項可以查看沒有運行的容器
docker rmi centos //用來刪除指定得鏡像,其中后面的參數可以是tag,如果是tag時,實際上刪除的是該tag,只要改鏡像還有其他tag,就不會刪除該鏡像,當后面的參數為鏡像ID時,則會徹底刪除整個鏡像,連同所有標簽一同刪除
# docker tag centos centos:fansik創建一個REPOSITORY為centos,TAG為fansik的鏡像
# docker rmi centos:fansik刪除REPOSITORY為centos,TAG為fansik的鏡像
Docker鏡像使用容器生成新的鏡像
進入之前創建的容器
運行docker run后,進入到該容器中,我們做一些變更,比如安裝一些東西,然后針對這個容器進行創建的新的鏡像
docker commit -m "change somth" -a "somebody info" container_id(通過docker ps -a獲取id) 新鏡像名字
例如:docker commit -m "install httpd" -a "Aming" dad4e9070e2b aming/centos
這個命令有點像svn的提交,-m加一些改動信息,-a指定作者相關信息 dad4e9070e2b為容器id,再后面為新鏡像的名字
Docker基于本地模板導入創建鏡像
原文鏈接:http://www.cnblogs.com/fansik/p/5526938.html
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答
圖片精選