1.Hello world in a container

Hello world in a container

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

Run an interactive container (運行一個可交互的container)

讓咱們執行一個新的指令在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:/#

Start a daemonized Hello world (開始一個守護進程的hello world)

讓咱們建立一個容器,做爲一個守護進程運行。

$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.)

原文出處:https://docs.docker.com/engin...

相關文章
相關標籤/搜索