1. 程式人生 > >Docker學習總結(10)——10分鐘玩轉Docker

Docker學習總結(10)——10分鐘玩轉Docker

1、前言

進入雲端計算的時代,各大雲提供商AWS,阿里雲紛紛推出針對Docker的服務,現在Docker是十分火爆,那麼Docker到底是什麼,讓我們來體驗一下。

2、Docker是什麼

Docker是一個開源的應用容器引擎,可以把應用以及依賴包放到一個可移植的容器中,然後釋出到任何流行的 Linux 系統上,通過這種方式實現虛擬化。

提到虛擬化,大家應該十分熟悉了,有VMware,Xen,KVM等等很多。那麼,Docker和VM有什麼不同呢,我們用官網的一張圖來說明一下。

可以看出,Docker和VM比較,用Docker引擎替代了Hyper-v,沒有Gest OS,應用是放到容器裡,直接執行在宿主機的OS上。

這樣做的好處是,各容器間雖然隔離,但共享系統資源和公用庫,剝離了Gest OS這層,系統資源利用率更高。

另外,因為Docker容器的靈活性,在程式的 開發 → 測試 → 釋出,整個流程能保證環境的一致性,並大大減少工作量和時間。這也是Docker十分火爆的主要原因。

說到這裡,大家可能已經等不及了吧,下面一起來使用一下Docker。

3、使用Docker

官方的Docker Hub上有一些共有的映象,可以直接拿來放到容器裡使用,也可以自己建立映象,儲存後供容器使用。今天使用公用的映象建立一個nginx的容器。

3.1 安裝Docker

Docker的安裝十分簡單,用yum或apt-get可以直接安裝。

# yum install -y docker

3.2 啟動Docker

# service docker start

3.3 檢視資訊

# docker info

安裝到此結束,接下來建立一個nginx的容器。

3.4 查詢映象

在Docker Hub上查詢nginx的映象。

# docker search nginx

3.5 抓取映象

我們下載的是官方的nginx映象。

# docker pull nginx

3.6 檢視映象

# docker images

3.7 定映象建立容器並啟動

指定剛才獲取的nginx映象。

# docker run -d -p 80:80 --name cn1 nginx

解釋一下各引數:

-d 放在後臺執行

-p 主機埠:容器埠 將容器的埠對映到主機上,目的是可以直接對外提供訪問

--name 指定容器名

3.8 檢視容器

# docker ps

在瀏覽器訪問伺服器的IP,可以開啟nginx的預設頁面

到此,一個nginx容器已經建立成功。下面介紹一下其他一些命令。

3.9 結束容器

# docker kill cn1

3.10 檢視所有容器

# docker ps -a

3.11 啟動容器

# docker start cn1

3.12 刪除容器

# docker rm sad_heisenberg 4、後記

本文只是對Docker一個簡單的介紹,其他的用法,以後會陸續介紹,請持續關注本部落格。