1. 程式人生 > >Docker的安裝及相關使用

Docker的安裝及相關使用

一.Docker的安裝簡介

二.在mac上安裝Docker

  • 在Docker官網上選擇mac下安裝
  • 選擇Get Docker for Mac(stable)
  • 正常下載安裝即可
  • 如果需要我們也可以下載kitemagic(圖形化操作介面)

三.在Windows上安裝Docker

1.安裝條件

  • Win10或Windows Server 2016以上
  • 需要是64位,且有Hyper-V的支援

2.安裝過程

  • 直接下載
  • 按照圖形介面直接安裝即可

四.vagrant&Virtualbox for mac

1.vagrant工具

  • 下載:直接在官網下載即可

  • 使用vagrant可以方便快速的建立Linux虛擬機器

  • 建立過程

    • 以前基於虛擬機器的工作流,我們需要下載ISO映象,安裝系統,設定系統等操作。而Vagrant開源社群提供了許多已經打包好的作業系統,我們稱之為box。你可以從box下載地址(下文列出),找到你想要的box,當然你也可以自己製作一個。

    • 安裝box

      • 建立自己的開發環境目錄(即建立一個資料夾)

      • 匯入安裝說明

        • vagrant box add是新增box的命令,{title}是以後建立虛擬機器的別名,{url}是下載到本地box的路徑,也可以是伺服器端的URL。
        vagrant box add {title} {url}
        vagrant init {title}
        vagrant up
        
      • 將box映象新增到本地倉庫,有三種方式

        • 使用http絕對地址

          vagrant box add precises64 http://files.vagrantup.com/precise64.box
          
        • 使用本地檔案(從協議來說,和上面一樣,相當於file:///協議的地址)

          vagrant box add precises64 ./precise64.box
          
        • 使用倉庫名稱

          vagrant box add precises64 ubuntu/precise64
          
        • 這種方式,vagrant會自動在中央倉庫查詢映象,並下載到本地映象庫中。(省略本地映象名稱,則直接用中央倉庫中的映象名作為本地映象名,這樣做的好處是可以跟倉庫中的映象對應。)

          vagrant box add ubuntu/precise64
          
    • 進入指定資料夾,執行命令vagrant init centos/7會初始化一個vagrantfile檔案(描述要建立什麼樣的virtual machine,可以根據需要進行個性化修改)【centos/7是對應的title】

    • 執行vagrant up啟動虛擬機器,首先去找centos/7的base box,如果本地有則直接從本地載入,如果沒有則從網上下載;之後會建立一個VM;之後會一步一步的建立虛擬機器

    • 之後再virtual box中就會看到多建立的虛擬機器

    • 在剛才指定的資料夾下執行vagrant ssh即可以登入到剛才建立的虛擬機器中,並執行sudo yum update,則會更新一些檔案

  • 銷燬對應的virtual machine

    • 執行vagrant status可以看到當前的virtual machine的狀態
    • 停掉virtual machine機器,執行vagrant halt
    • 刪掉virtual machine機器,執行vagrant destory
    • 刪掉後,回到virtual box中,就可以發現剛才建立的virtual box就沒啦~
  • vagrant命令整合

    命令 作用
    vagrant box add 新增box的操作
    vagrant init 初始化box的操作,會生成vagrant的配置檔案Vagrantfile
    vagrant up 啟動本地環境
    vagrant ssh 通過ssh登入本地環境所在虛擬機器
    vagrant halt 關閉本地環境
    vagrant suspend 暫停本地環境
    vagrant resume 恢復本地環境
    vagrant reload 修改了Vagrantfile後,使之生效(相當於先 halt,再 up)
    vagrant destroy 徹底移除本地環境
    vagrant box list 顯示當前已經新增的box列表
    vagrant box remove 刪除相應的box
    vagrant package 打包命令,可以把當前的執行的虛擬機器環境進行打包
    vagrant plugin 用於安裝解除安裝外掛
    vagrant status 獲取當前虛擬機器的狀態

五.在centos上安裝Docker

  • 安裝requirements

    • 安裝依賴

      sudo yum install -y yum-utils \
      device-mapper-persistent-data \
      lvm2
      
  • 新增report

    sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
    
  • 安裝Docker CE

    sudo yum install docker-ce
    
  • 啟動Docker Service

    sudo systemctl start docker
    
  • 檢視Docker版本

    sudo docker version
    
  • 檢驗是否安裝成功

    sudo docker run hello-world
    

六.Docker Machine的本地使用

1.什麼是Docker Machine

  • 能夠自動在虛擬機器上安裝Docker engine的工具
  • 通過docker-machine version檢視docker-machine的版本

2.Docker Machine的使用

  • 首先執行vagrant destory移除虛擬機器
  • 執行docker-machine create demo將在Virtual box中建立一個安裝好Docker的Linux虛擬機器
    • 虛擬機器的名字為demo

3.Docker Machine的命令

  • docker-machine ls檢視當前正在執行或已經建立好了的Docker machine
  • docker-machine ssh demo登入docker-machine建立的虛擬機器
    • 在機器中執行docker version可以看到docker的版本
  • exit退出docker-machine
  • docker-machine stop暫停docker-machine
  • docker-machine rm移除docker-machine
  • docker-machine restart重啟docker-machine
  • docker-machine env demo檢視demo的env環境
    • 執行eval ${docker-machine env demo}使本地的Server連線遠端的Server環境

七.Docker Machine在阿里雲上的使用(使用阿里雲Driver)

1.安裝阿里雲docker-machine driver驅動

2.在阿里雲上使用docker-machine

  • 購買阿里雲ECS雲主機

  • 建立AccessKey ID和secret ID

  • 利用docker-machine建立docker-host即ECS的例項並安裝Docker

    • docker-machine create -d aliyunesc表示建立阿里雲ecs的驅動
    • aliyunesc-io-optimized表示io優化的引數
    • aliyunesc-instance-type表示阿里雲實例的型別
    • aliyunesc-region表示阿里雲伺服器的例項的地域
    docker-machine create -d aliyunesc --aliyunesc-io-optimized=optimized --aliyunesc-instance-type=ecs.c5.large --aliyunecs-access-key-id=對應的ACCESSKEYID --aliyunesc-access-key-secret=對應的ACCESSKEYSECRET --aliyunesc-region=cn-qingdao 建立的例項名
    
  • 通過docker-machine ls檢視所有建立的docker-machine

  • 通過docker-machine env test檢視對應docker-machine的環境變數,通過執行eval ${docker-machine env test}將Server製成阿里雲的docker-host

  • 如果不想使用遠端的docker-machine,則可以使用eval ${docker-machine env --unset},則Client和Server都是本地的

八.Docker Machine在亞馬遜AWS雲上的使用

1.使用流程

  • 建立AWS的configure credentials:Access Key ID和Secret Access Key

  • 用machine去建立例項

    • 建立~/.aws/credentials檔案去管理AWS keys,這樣就不需要時刻執行docker-machine create命令

    • 例項程式碼

      [default]
      aws_access_key_id = AKID1234567890
      aws_secret_access_key = MY-SECRET-KEY
      
    • 執行docker-machine create建立例項

      docker-machine create --driver amazonec2 --amazonec2-open-port 埠號 --amazonec2-region 地域資訊 例項名稱
      
    • 餘下操作與阿里雲相同

九.Docker playground

  • 當條件有限,無法在任何環境中安裝Docker時,可以在Docker playground(play with docker)上執行執行docker
  • 使用docker使用者名稱和密碼登入docker playground,在不安裝環境的前提下使用docker