1.第一個命令docker runweb
$ docker run ubuntu /bin/echo 'hello world' hello world
在這個例子中docker
列表項目ubuntu
docker run 運行了一個 containerbash
ubuntu 是一個鏡像 ,docker 首先查看鏡像的 docker host ,若是這個鏡像不存在本地,就回去docker hub 上下載鏡像app
/bin/echo 是運行一個命令在新的container中ui
這個 container launches.Docker 建立一個新的ubuntu環境 而且執行/bin/echo 命令 和 打印了命令行
hello wrold
那麼這個容器之後發生了什麼?docker container 僅僅 運行了一個你指定的命令。所以,上面的例子,當命令運行完畢這個container 立刻中止code
讓咱們執行一個新的指令在container 裏面orm
$ docker run -t -i ubuntu /bin/bash root@a983f07f87c8:/#
在這個例子中:進程
dcoker run 運行一個 a container ubuntu 它將成爲你運行的鏡像
-t 標誌指定一個僞終端 或者 終端 在container 中 (輸入)
-i 標誌容許你去 經過抓取容器裏面的標準輸出(STDIN)來進行交互(輸出)
/bin/bash 運行一個bash shll 在咱們的container 裏面
這個container launhes . 咱們能看到一個命令行提示
root@af8bae53bdd3:/#
讓咱們建立一個容器,做爲一個守護進程運行。
$docker run -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done" 86e7f1bc29862651ad4bf341099946710543ba5c7030d87701d53437c3621a47
在這個例子中 :
docker run 運行一個container
-d flag 在後臺運行這個 container
ubuntu 是要運行的image
最後,咱們指定命令去執行:
/bin/sh -c "while true; do echo hello world; sleep 1; done"
在這個輸出,咱們不會看到 hello world ,而是一段很長的字符串
1e5535038e285177d5214659a068137486f96ee5c2e85a4ac52dc83f2ebe4147
這個很長的字符串被成爲 container ID,他是惟一標識一個容器,因此咱們能與它一塊兒工做。
Note:這個Containe ID 是一個 長 而且笨重的id。後面,咱們將會用短id 和方法 來命名咱們的container,使它們的工做更加簡單。
咱們能使用 container ID 去看 咱們的 hello world daemon 到底發生了什麼。
首先,咱們 確認咱們的container 還在運行,運行 docker run 命令,docker ps 這個命令查詢 Docker 守護形式運行的全部container 的相關信息。(command queries the Docker daemon for information about all the containers it knows about.)
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 86e7f1bc2986 ubuntu "/bin/sh -c 'while tr" 22 minutes ago Up 22 minutes big_lalande
上面的例子中,咱們能看到 咱們的守護進程形式 container。docker ps 返回了一些有用的信息:
86e7f1bc2986 是一個短 變形 的container ID
ubuntu 是被使用的鏡像
這個 command ,status 和 assigned(分配的) name big_lalande
Note:Docker 老是自動在container 啓動的時候生成名字,咱們將會後面看到怎麼指定分配你本身的名字。
如今,咱們知道 容器是運行的。可是它是作了咱們要求它作得了麼?咱們將會用使用 docker logs 查看container內部的內容。
$docker logs big_lalande hello world hello world hello world . . .
在上面的例子中:
docker logs 看到了container內部和返回的hello world
Awesome !這個長守護進程 是在工做的 和你剛剛建立了第一個docker化的程序
接下來,運行這個 docker stop 命令去中止咱們 獨立的container
docker stop big_lalande big_lalande
docker stop 這個命令 告訴Docker 優雅的關閉正在運行的container 和返回 這個container 名字 並中止它。
讓咱們用 docker ps 命令檢查
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
咱們的container 被中止了。
下一步:
到目前位置,你用 docker run 命令啓動了你的第一個container。你能運行一個能在前臺交互運行的容器。你也能運行一個運行在後臺的守護進程形式的容器。在本節中你能學到幾個命令:
docker ps 列出containers列表
docker logs 顯示咱們 container 的容器的標準輸出
docker stop 中止運行中的container
Now ,你瞭解了更多關於docker 的基礎,以及一些基本的任務。去「Run a simple application」用Docker client 去 實際構建一個Web應用程序(Go to 「Run a simple application「 to actually build a web application with the Docker client.)