Learn Docker(一)—軟件安裝與常規操做

1、安裝Docker

Windows平臺

  • 在Windows10 X64專業版上能夠直接下載Docker原生應用進行安裝,在控制面板的程序與功能裏啓用Hyper-v,以後就能夠運行docker程序啦。

Hyper-V是微軟的一款虛擬化產品,是微軟第一個採用相似Vmware和Citrix開源Xen同樣的基於hypervisor的技術。linux

  • 在其餘Windows版本里,須要使用Docker Toolbox運行Docker。

docker toolbox是一個工具集,它主要包含如下一些內容:git

  • Docker CLI 客戶端,用來運行docker引擎建立鏡像和容器
  • Docker Machine. 可讓你在windows的命令行中運行docker引擎命令
  • Docker Compose. 用來運行docker-compose命令
  • Kitematic. 這是Docker的GUI版本
  • Docker QuickStart shell. 這是一個已經配置好Docker的命令行環境
  • Oracle VM Virtualbox. 虛擬機

因爲Docker引擎的守護進程使用的是Linux的內核,因此咱們不可以直接在windows中運行docker引擎。而是須要運行Docker Machine命令 docker-machine, 在你的機器上建立和得到一個Linux虛擬機,用這個虛擬機才能夠在你的windows系統上運行Docker引擎。docker

Linux平臺

Get Docker網站爲咱們提供了一個安裝Docker的shell腳本,咱們能夠經過執行該腳本的方式在Linux上安裝。該腳本會判斷Linux的版本並進行合適的安裝。其命令以下:shell

sudo wget  -qo- https://get.docker.com/ | shubuntu

在安裝以後,根據提醒能夠再執行命令windows

sudo usermod -aG docker username(username換成本身的用戶名)工具

該命令會建立docker分組,並將相應的用戶添加到這個分組裏面。執行後退出,而後從新登陸,以便讓權限生效。網站

2、常規操做

  • 檢查docker的版本,這樣能夠用來確認docker服務在運行並可經過客戶端連接。Docker系統有兩個程序:docker服務端和docker客戶端。其中docker服務端是一個服務進程,管理着全部的容器。docker客戶端則扮演着docker服務端的遠程控制器,能夠用來控制docker的服務端進程。大部分狀況下,docker服務端和客戶端運行在一臺機器上。

docker versionui

  • 學會使用命令行的工具來檢索名字叫作tutorial的鏡像。Docker官方網站專門有一個頁面來存儲全部可用的鏡像,網址是:index.docker.io。你能夠經過瀏覽這個網頁來查找你想要使用的鏡像,或者使用命令行的工具來檢索。

docker search tutorial命令行

  • 經過docker命令下載tutorial鏡像。docker命令和git有一些相似的地方。在docker的鏡像索引網站上面,鏡像都是按照用戶名/鏡像名的方式來存儲的。有一組比較特殊的鏡像,好比ubuntu這類基礎鏡像,通過官方的驗證,值得信任,能夠直接用鏡像名來檢索到。

docker pull learn/tutorial

  • 在docker容器中運行hello world!        docker容器能夠理解爲在沙盒中運行的進程。這個沙盒包含了該進程運行所必須的資源,包括文件系統、系統類庫、shell 環境等等。但這個沙盒默認是不會運行任何程序的。你須要在沙盒中運行一個進程來啓動某一個容器。這個進程是該容器的惟一進程,因此當該進程結束的時候,容器也會徹底的中止。

    docker run命令有兩個參數,一個是鏡像名,一個是要在鏡像中運行的命令。

docker run learn/tutorial echo 「hello world」

  • 在容器中安裝新的程序。

    咱們以前下載的tutorial鏡像是基於ubuntu的,因此你可使用ubuntu的apt-get命令來安裝ping程序:apt-get install -y ping

    備註:apt-get 命令執行完畢以後,容器就會中止,但對容器的改動不會丟失。

    在執行apt-get 命令的時候,要帶上-y參數。若是不指定-y參數的話,apt-get命令會進入交互模式,須要用戶輸入命令來進行確認,但在docker環境中是沒法響應這種交互的

docker run learn/tutorial apt-get install -y ping

  • 保存對容器的修改。當你對某一個容器作了修改以後(經過在容器中運行某一個命令),能夠把對容器的修改保存下來,這樣下次能夠從保存後的最新狀態運行該容器。docker中保存狀態的過程稱之爲_committing_,它保存的新舊狀態之間的區別,從而產生一個新的版本。

    首先使用docker ps -l命令得到安裝完ping命令以後容器的id。而後把這個鏡像保存爲learn/ping。

    提示:

    1. 運行docker commit,能夠查看該命令的參數列表。

    2. 你須要指定要提交保存容器的ID。(譯者按:經過docker ps -l 命令得到)

    3. 無需拷貝完整的id,一般來說最開始的三至四個字母便可區分。(很是相似git裏面的版本號)

docker commit 531 learn/ping

執行完docker commit命令以後,會返回新版本鏡像的id號。

  • 運行新的鏡像。必定要使用新的鏡像名learn/ping來運行ping命令。

docker run learn/ping ping www.baidu.com

  • 檢查運行中的鏡像。使用docker ps命令能夠查看全部正在運行中的容器列表(docker ps -a命令能夠查看全部容器列表【包含沉睡鏡像】),使用docker inspect命令咱們能夠查看更詳細的關於某一個容器的信息。

docker inspect  9b14

  • 發佈本身的鏡像。

    1. docker images命令能夠列出全部安裝過的鏡像。

    2. docker push命令能夠將某一個鏡像發佈到官方網站。

    3. 你只能將鏡像發佈到本身的空間下面。這個模擬器登陸的是learn賬號。

相關文章
相關標籤/搜索