Docker安裝及基本使用方法


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鏡像使用容器生成新的鏡像

  • 進入之前創建的容器
  1. # docker ps -a;查看有哪些容器
  2. # docker start dad4e9070e2b啟動id為dad4e9070e2b的容器(id可以簡寫為前幾位)
  3. # docker exec -it dad4e9070e2b /bin/bash進入到容器中
  4. 里面可以直接使用yum安裝需要的軟件
  • 運行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基於本地模板導入創建鏡像

  • 模塊提取,可以直接在網上下載一個模塊(可以復制鏈接然后直接wget)http://openvz.org/Download/templates/precreated
  • 導入鏡像的命令是:# cat ubuntu-15.10-x86_64-minimal.tar.gz | docker import - ubuntu
  • 把現有鏡像,導出為一個文件:# docker save -o fansik-httpd.tar httpd(倉庫名或者鏡像ID)
  • 用備份文件恢復本地鏡像:# docker load --input fansik-httpd.tar或者:# docker load < fansik-httpd.tar
  • 把自己的鏡像上傳到dockerhub官方網站,但需要先注冊用戶docker push image_name


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM