docker 小白入門

第一步打開服務器
第二部重開cmd


檢查docker的版本,這樣可以用來確認docker服務在運行並可通過客戶端鏈接。
$ docker version

學會使用命令行的工具來檢索名字叫做tutorial的鏡像。
命令行的格式爲:docker search 鏡像名字
$ docker search tutorial

通過docker命令下載tutorial鏡像。
在docker的鏡像索引網站上面,鏡像都是按照 用戶名/ 鏡像名的方式來存儲的。
執行pull命令的時候要寫完整的名字,比如"learn/tutorial"。
$ docker pull learn/tutorial

docker容器可以理解爲在沙盒中運行的進程。這個沙盒包含了該進程運行所必須的資源,包括文件系統、系統類庫、shell 環境等等。但這個沙盒默認是不會運行任何程序的。你需要在沙盒中運行一個進程來啓動某一個容器。這個進程是該容器的唯一進程,所以當該進程結束的時候,容器也會完全的停止。

在我們剛剛下載的鏡像中輸出"hello word"。爲了達到這個目的,我們需要在這個容器中運行"echo"命令,輸出"hello word"。
docker run命令有兩個參數,一個是鏡像名,一個是要在鏡像中運行的命令。
$ docker run learn/tutorial echo "hello word"
下一步我們要做的事情是在容器裏面安裝一個簡單的程序(ping)。我們之前下載的tutorial鏡像是基於ubuntu的,所以你可以使用ubuntu的apt-get命令來安裝ping程序: apt-get install -y ping。

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

在learn/tutorial鏡像裏面安裝ping程序。
在執行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 698 learn/ping
運行新的鏡像
ok,到現在爲止,你已經建立了一個完整的、自成體系的docker環境,並且安裝了ping命令在裏面。它可以在任何支持docker環境的系統中運行啦!
在新的鏡像中運行ping www.google.com命令。
一定要使用新的鏡像名 learn/ping來運行ping命令。(譯者按:最開始下載的learn/tutorial鏡像中是沒有ping命令的)

正確的命令:
$ docker run lean/ping ping www.google.com
檢查運行中的鏡像
現在你已經運行了一個docker容器,讓我們來看下正在運行的容器。

使用 docker ps命令可以查看所有正在運行中的容器列表,使用 docker inspect命令我們可以查看更詳細的關於某一個容器的信息。
查找某一個運行中容器的id,然後使用docker inspect命令查看容器的信息。
可以使用鏡像id的前面部分,不需要完整的id。

正確的命令:

$ docker inspect efe

發佈docker鏡像
現在我們已經驗證了新鏡像可以正常工作,下一步我們可以將其發佈到官方的索引網站。

把learn/ping鏡像發佈到docker的index網站。

提示:
1. docker images命令可以列出所有安裝過的鏡像。

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

3. 你只能將鏡像發佈到自己的空間下面。這個模擬器登錄的是learn帳號。

預期的命令:
$ docker push learn/ping

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章