執行 Docker 映象作為容器


Docker 允許您使用 Docker 映象建立名為 Docker 容器的容器化、打包和隔離的環境。在這些 Docker 容器內,您可以構建、測試甚至部署您的應用程式。這使您可以輕鬆地與其他開發者共享您的應用程式執行時環境。所有這一切都歸功於一個名為 Docker 映象的只讀模板。

您可以直接從任何 Docker 登錄檔(例如 Dockerhub)拉取 Docker 映象,或者在 Dockerfile 中使用基礎映象來構建您自己的自定義映象。然後,您可以使用 Docker build 命令構建您的 Docker 映象。準備好 Docker 映象後,您可以使用 Docker run 命令建立一個與該映象關聯的容器。然後,您可以透過容器的 bash 訪問應用程式的執行時環境。

所有這些都可以使用簡單的 Docker 命令完成。讓我們討論所有與將 Docker 映象作為容器執行相關的命令。

執行 Docker 映象作為容器

要執行與映象關聯的容器,您需要在您的機器上已經存在一個映象。建立映象有兩種不同的方法。

  • 直接從 Dockerhub 拉取映象。
  • 使用 Dockerfile 建立映象。

首先,讓我們嘗試直接從 Dockerhub 登錄檔拉取映象。我們將嘗試使用 Docker pull 命令拉取最新版本的 Ubuntu 映象。為此,請執行以下命令。

$ docker pull ubuntu:latest

如果您的機器上不存在具有相同摘要的映象,守護程序將嘗試從 Dockerhub 拉取它。如果您已經擁有類似的映象,它不會拉取新的映象,而只是建立一個現有映象的副本。

要檢查拉取是否成功,您可以列出所有映象。

$ docker images

您會發現映象已成功拉取。

現在您已經準備好了 ubuntu 映象,讓我們使用 Docker run 命令執行與該映象關聯的容器。

$ docker run -it --name=ubuntucontainer ubuntu bash

在上面的命令中,我們使用了互動式和偽終端選項,這將允許我們透過終端驅動程式與容器進行互動式互動。我們使用了 name 選項為容器命名。最後,我們指定了映象的名稱和容器啟動後需要執行的命令。在這裡,命令是 bash,它將使我們能夠訪問容器的 bash。

執行此命令後,您應該可以訪問容器內的 Ubuntu 環境。您可以像使用 Ubuntu 機器一樣與容器進行互動。要檢查容器的狀態,您可以使用以下命令。

$ docker ps

此命令用於列出所有活動容器。

$ docker ps -a

此命令用於列出機器中所有存在的容器。

另一種方法是使用 Dockerfile 建立映象。請考慮以下 Dockerfile。

FROM ubuntu:latest
WORKDIR /app

在上面的 Dockerfile 中,我們使用了 FROM 指令,這將允許我們使用 ubuntu:latest 映象作為我們的基礎映象。我們使用了 WORKDIR 指令將 /app 目錄設定為預設工作目錄。現在,您可以使用 Docker build 命令構建與該 Dockerfile 關聯的映象。

$ docker build -t myubuntu:latest .

在這裡,我們使用了 -t 選項,這將允許我們為映象指定名稱和標籤。末尾的點指定了 Dockerfile 的路徑,即當前目錄。執行此命令後,您可以透過列出映象來檢查映象的建立情況。

$ docker images

現在,您可以再次使用 Docker run 命令執行與該映象關聯的容器。

$ docker run -it --name=ubuntucontainer myubuntu:latest bash

即使您的機器上不存在映象,您也可以直接使用 Docker run 命令。假設您想建立一個與 centos 映象關聯的容器。您可以直接使用以下命令。

$ docker run -it --name=centosinstance centos:latest bash

執行 Docker run 命令時,守護程序首先會檢查系統上是否存在 centos 映象。如果找不到,它將在後臺執行 Docker pull 命令來拉取 centos 映象。完成後,它將執行 Docker start 命令在後臺啟動與 centos 映象關聯的容器。之後,它將使用 Docker run 命令執行容器。所有這些都在後臺進行。

總而言之,您可以直接使用 Docker run 命令執行與映象關聯的 Docker 容器,即使您沒有映象也可以。或者,您可以先拉取或構建 Docker 映象,然後使用 Docker run 命令建立容器。

更新於:2021年8月6日

678 次瀏覽

啟動您的 職業生涯

完成課程獲得認證

開始學習
廣告