天天看點

Docker Hello World

Docker 允許你在容器内運作應用程式, 使用 docker run 指令來在容器内運作一個應用程式。

輸出Hello world

Docker Hello World

各個參數解析:

docker: Docker 的二進制執行檔案。

run: 與前面的 docker 組合來運作一個容器。

ubuntu:15.10 指定要運作的鏡像,Docker 首先從本地主機上查找鏡像是否存在,如果不存在,Docker 就會從鏡像倉庫 Docker Hub 下載下傳公共鏡像。

/bin/echo "Hello world": 在啟動的容器裡執行的指令

以上指令完整的意思可以解釋為:Docker 以 ubuntu15.10 鏡像建立一個新容器,然後在容器裡執行 bin/echo "Hello world",然後輸出結果。

我們通過 docker 的兩個參數 -i -t,讓 docker 運作的容器實作"對話"的能力:

-t: 在新容器内指定一個僞終端或終端。

-i: 允許你對容器内的标準輸入 (STDIN) 進行互動。

注意第二行 root@0123ce188bd8:/#,此時我們已進入一個 ubuntu15.10 系統的容器

我們嘗試在容器中運作指令 cat /proc/version和ls分别檢視目前系統的版本資訊和目前目錄下的檔案清單

我們可以通過運作 exit 指令或者使用 CTRL+D 來退出容器。

注意第三行中 root@runoob:~# 表明我們已經退出了目前的容器,傳回到目前的主機中。

使用以下指令建立一個以程序方式運作的容器

在輸出中,我們沒有看到期望的 "hello world",而是一串長字元

2b1b7a428627c51ab8810d541d759f072b4fc75487eed05812646b8534a2fe63

這個長字元串叫做容器 ID,對每個容器來說都是唯一的,我們可以通過容器 ID 來檢視對應的容器發生了什麼。

首先,我們需要确認容器有在運作,可以通過 docker ps 來檢視:

輸出詳情介紹:

CONTAINER ID: 容器 ID。

IMAGE: 使用的鏡像。

COMMAND: 啟動容器時運作的指令。

CREATED: 容器的建立時間。

STATUS: 容器狀态。

狀态有7種:

created(已建立)

restarting(重新開機中)

running 或 Up(運作中)

removing(遷移中)

paused(暫停)

exited(停止)

dead(死亡)

PORTS: 容器的端口資訊和使用的連接配接類型(tcp\udp)。

NAMES: 自動配置設定的容器名稱。

在宿主主機内使用 docker logs 指令,檢視容器内的标準輸出:

Docker Hello World
Docker Hello World

我們使用 docker stop 指令來停止容器:

Docker Hello World

通過 docker ps 檢視,容器已經停止工作:

可以看到容器已經不在了。

也可以用下面的指令來停止: