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


一、安裝Docker

Windows平台

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

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

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

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

  • 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引擎。

Linux平台

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

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

在安裝之后,根據提醒可以再執行命令

sudo usermod -aG docker username(username換成自己的用戶名)

該命令會創建docker分組,並將相應的用戶添加到這個分組里面。執行后退出,然后重新登錄,以便讓權限生效。

二、常規操作

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

docker version

  • 學會使用命令行的工具來檢索名字叫做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帳號。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM