1. 程式人生 > >win10安裝docker並配置國內映象

win10安裝docker並配置國內映象

1、Docker溯源

Docker的前身是名為dotCloud的小公司,主要提供的是基於 PaaS(Platform as a Service,平臺及服務)平臺為開發者或開發商提供技術服務,並提供的開發工具和技術框架。因為其為初創的公司,又生於IT行業,dotCloud受到了IBM,亞馬遜,google等公司的擠壓,發展舉步維艱。於是,在2013年dotCloud 的創始人,年僅28歲的Solomon Hykes做了一個艱難的決定:將dotCloud的核心引擎開源!然而一旦這個基於 LXC(Linux Container)技術的核心管理引擎開源,dotCloud公司就相當於走上了一條"不歸路"。可正是這個孤注一擲的舉動,卻帶來了全球技術人員的熱潮,眾程式設計師驚呼:太方便了,太方便了。也正是這個決定,讓所有的IT巨頭也為之一顫。一個新的公司也隨之出世,它就是:Docker。可以說,Docker是一夜成名的!!

2、認識docker

2.1 映象、容器、倉庫

首先,需要了解一下幾個概念:

映象(image):Docker 映象就是一個只讀的模板,映象可以用來建立 Docker 容器。Docker 提供了一個很簡單的機制來建立映象或者更新現有的映象,使用者甚至可以直接從其他人那裡下載一個已經做好的映象來直接使用。映象是一種檔案結構。Dockerfile中的每條命令都會在檔案系統中建立一個新的層次結構,檔案系統在這些層次上構建起來,映象就構建於這些聯合的檔案系統之上。Docker官方網站專門有一個頁面來儲存所有可用的映象,網址是:index.docker.io

容器( Container):容器是從映象建立的執行例項。它可以被啟動、開始、停止、刪除。每個容器都是相互隔離的、保證安全的平臺。可以把容器看做是一個簡易版的 Linux 環境,Docker 利用容器來執行應用。

倉庫:倉庫是集中存放映象檔案的場所,倉庫註冊伺服器(Registry)上往往存放著多個倉庫,每個倉庫中又包含了多個映象,每個映象有不同的標籤(tag)。目前,最大的公開倉庫是 Docker Hub,存放了數量龐大的映象供使用者下載。

2.2 docker定義

Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後釋出到任何流行的 Linux 機器上。Docker是一個重新定義了程式開發測試、交付和部署過程的開放平臺,Docker則可以稱為構建一次,到處執行,這就是Docker提出的"Build once,Run anywhere"

Docker倉庫用來儲存我們的images,當我們建立了自己的image之後我們就可以使用push命令將它上傳到公有或者私有倉庫,這樣下次要在另外一臺機器上使用這個image時候,只需要從倉庫上pull下來就可以了。注意:Docker不是容器,而是管理容器的引擎!

Docker中文手冊上解釋說:Docker是一個開源的引擎,可以輕鬆的為任何應用建立一個輕量級的、可移植的、自給自足的容器。開發者在筆記本上編譯測試通過的容器可以批量地在生產環境中部署,包括VMs(虛擬機器)、bare metal、OpenStack 叢集和其他的基礎應用平臺。

從這裡我們可以看出,Docker並非是容器,而是管理容器的引擎。Docker是為應用打包、部署的平臺,而非單純的虛擬化技術。

3、docker安裝

3.1 環境準備

先檢查你的機器是否支援硬體虛擬化技術(Hardware Virtualization Technology)並且已被啟用。什麼是硬體虛擬化技術

對於windows系統,可以通過兩種方式檢視CPU是否支援虛擬化,具體操作步驟及方法點選這裡

你可以在 工作管理員->效能 中檢視到你的電腦是否開啟了虛擬化
在這裡插入圖片描述

3.2 下載docker

3.3 安裝docker

安裝沒有什麼特別注意的,安裝完成後,桌面上會增加三個圖示:

img

雙擊Docker Quickstart Terminal圖示,就會啟動一個終端,第一次啟動的話你會看到命令列會輸出一些東西,這是docker在初始化配置,等待一下,它會配置Docker Toolbox,之後,當它完成後,你會看到啟動成功的畫面。
在這裡插入圖片描述
這個終端是執行在bash環境下的,而不是標準的windows命令列,因為Docker需要執行在bash環境下,否則一些命令無法執行。

4、docker入門

4.1 檢視docker版本資訊

輸入docker version
在這裡插入圖片描述

4.2 檢視所有容器

輸入docker ps -a
在這裡插入圖片描述

4.3 檢查Docker,Compose和Machine的版本

在這裡插入圖片描述

4.4 執行docker run hello-world以測試從Docker Hub中拉取影象並啟動容器

在這裡插入圖片描述

5、docker國內源加速

在搜尋映象或下載的時候會出現類似Error response from daemon: Get https://index.docker.io/v1/search?q=sameersbn&n=25: dial tcp: lookup index.docker.io on 192.168.65.1:53: read udp 192.168.65.2:45190->192.168.65.1:53: i/o timeout這樣的提示,主要原因是映象都在國外,訪問過慢,所以我們需要換成國內的docker源加速,下面這個是免費的,速度很快,很贊!https://www.daocloud.io/mirror#accelerator-doc,具體更改步驟如下:

到剛才的網站註冊一個id,然後就可以看到對應系統的映象加速地址了,記下地址,然後在終端中依次打入下面四條命令(替換其中的加速地址)。

docker-machine ssh default
sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=加速地址 |g" /var/lib/boot2docker/profile
exit
docker-machine restart default

這樣就可以飛速的pull和search映象了。

6、安裝ubuntu系統映象

國內源我們已經更新好了,現在試一下安裝映象的速度吧,輸入docker search ubuntu後,不會再提示上步出現的錯誤,而是很快返回映象的庫說明,再輸入docker pull ubuntu安裝ubuntu映象,如圖所示:
在這裡插入圖片描述
輸入docker run -it ubuntu bash進入ubuntu系統,輸入exit可以退出容器
在這裡插入圖片描述