.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.2Docker定義
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下載和安裝Docker Toolbox
從Docker官網可以下到Docker Toolbox: https://github.com/boot2docker/windows-installer/releases(這個地址國內下載很慢)
https://get.daocloud.io/toolbox/(用這個) 選擇windows版本下載。
雙擊下載好的程序:
注意:安裝路徑千萬不要有中文!!!!
請注意下面一點,對最後一項打上鉤:
然後,點擊Install!
3.2Docker配置
安裝完成後,在桌面上會出現兩個圖標:一個是命令行形式Docker終端,一個是圖形界面的Docker操作工具。
其安裝路徑下文件如下:
你可通過CMD查看docker是否安裝成功,輸入docker-machine,出現版本等信息,安裝能夠運行,還會給出一些選項,包括machine安裝路勁等: -s, --storage-path "C:\Users\wcc335836929\.docker\machine" Configures storage path [$MACHINE_STORAGE_PATH]
在使用Docker前,要先創建docker machine,它其實是臺虛擬機,不過在使用它的時候,你可能根本察覺不出來它是虛擬的。默認情況下,docker machine的所有文件都會保存在用戶的根目錄下,一般是在C盤,如果就用默認的位置,C盤的空間會越來越小,所以最好還是換個地方。 點擊Git Bash,在起開所有docker應用之前需要先使用這個才能更改成功,修改默認的default machine的路徑,不然,默認安裝在C盤,會使C盤空間越來越小。
然後,輸入 notepad .bash_profile 創建和打開.bash_profile 配置文件
然後,在空白處輸入(因爲我想將以後的鏡像都安裝到H盤,此處可以修改你喜歡的盤符):
export MACHINE_STORAGE_PATH='H:\docker'
然後,關閉後,在H盤創建名爲docker的文件夾,在其下創建名爲cache的文件夾,將安裝文件下的boot2docker.iso拷貝到該文件夾:
在Git Bash中輸入更改路徑命令,此處使用阿里雲的加速器,因爲在使用docker的時候,會需要從docker的網站下載鏡像文件,下載速度可能會很慢。獲得阿里雲加速,需要登錄阿里雲開發者平臺,然後點擊右側的管理中心(當然你得要有一個賬戶):
阿里雲開發者平臺:https://dev.aliyun.com/search.html
阿里雲Docker鏡像加速器 https://cr.console.aliyun.com/?spm=5176.100239.blogcont29941.12.M3GVxM#/imageList
然後點擊加速,Windows
複製紅色方框中的代碼,然後修改爲如下(根據自己盤符修改):
docker-machine -s "H:\docker" create --engine-registry-mirror=https://vf29u5xi.mirror.aliyuncs.com -d virtualbox default
現在就可以在Git Bash中運行了:
虛擬機中出現如下界面:
此時可以點擊Docker Quickstart Terminal:
同時,Docker Quickstart Terminal也已經登錄進去:
也可以在Git Bash中運行:
docker-machine ls
這裏面就是一個linux風格的Docker環境,提示的IP:192.168.99.100就是Docker虛擬機的IP了。
這臺docker machine創建後就啓動了,如果下次我們再打開電腦,想要啓動docker machine,可以打開Docker Quickstart Terminal或者Git Bash,然後執行下面的命令:
docker-machine start
來啓動docker machine。
3.3利用ssh軟件登錄
SSH登錄虛擬機(此處使用的XShell軟件,自行百度下載,當然還有其他的ssh軟件):
docker machine的IP是192.168.99.100,用SSH工具登錄它,用戶名是docker
,密碼是tcuser
切換到root 方式:sudo -i (docker用戶下執行)
4.安裝過程中出現的問題:
全部安裝完成後,打開Docker Quickstart Terminal,可能會出現如下錯誤:
這是因爲電腦沒有開啓支持VT-X/AMD-v功能,即沒有開啓虛擬化技術,需要重啓電腦,去BIOS裏開啓該功能
在利用image生成鏡像時,發生瞭如下錯誤
flag provided but not defined:
以爲是因爲docekr service和client的版本不同,各種查詢折騰,也沒有成功,最後發現,居然是命令中-v和路徑之間少了空格!都怪自己沒有仔細查看錯誤提醒
~~~~~~~~~~
5.docker的更新
如果本機安裝的docker過期了,也就是有新版本的docker發佈時,應該對本機的docker進行更新,否則很可能會影響它的繼續使用,那麼,對本機的docker進行更新可以安裝下述方式:
(1)打開Docker Quickstart Terminal終端
(2)輸入命令:docker-machine upgrade default
會開始自動更新本機的docker,如下圖所示
(3)查看docker版本
docker version
- 1
- 1
更多Docker相關教程見以下內容:
Docker安裝應用(CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm
Ubuntu 14.04安裝Docker http://www.linuxidc.com/linux/2014-08/105656.htm
Ubuntu使用VNC運行基於Docker的桌面系統 http://www.linuxidc.com/Linux/2015-08/121170.htm
阿里雲CentOS 6.5 模板上安裝 Docker http://www.linuxidc.com/Linux/2014-11/109107.htm
Ubuntu 15.04下安裝Docker http://www.linuxidc.com/Linux/2015-07/120444.htm
在Ubuntu Trusty 14.04 (LTS) (64-bit)安裝Docker http://www.linuxidc.com/Linux/2014-10/108184.htm
在 Ubuntu 15.04 上如何安裝Docker及基本用法 http://www.linuxidc.com/Linux/2015-09/122885.htm