Lightsail 容器服務映像 - Amazon Lightsail

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Lightsail 容器服務映像

透過 Docker,可建置、執行、測試和部署以容器為基礎的分散式應用程式。Amazon Lightsail 容器服務在部署中使用 Docker 容器映像來啟動容器。

在本指南中,我們會為您介紹如何使用 Dockerfile 在本機電腦上建立容器映像。建立映像後,便可將其推送到 Lightsail 容器服務進行部署。

若要完成本指南中的程序,您應該對 Docker 及其運作方式有基本認識。如需有關 Docker 的詳細資訊,請參閱什麼是 Docker?Docker 概觀

內容

步驟 1:完成先決條件

開始之前,必須安裝所需軟體來建立容器,然後將其推送到 Lightsail 容器服務。例如,必須安裝並使用 Docker 來建立和建置容器映像,以用於 Lightsail 容器服務。如需詳細資訊,請參閱安裝軟體以管理 Amazon Lightsail 容器服務的容器映像

步驟 2:建立 Dockerfile 並建置容器映像

請完成下列程序來建立 Dockerfile,並利用其建置 mystaticwebsite Docker 容器映像。容器映像將用於 Ubuntu 上 Apache Web 伺服器所託管的簡單靜態網站。

  1. 在您要存放 Dockerfile 的本機電腦上建立 mystaticwebsite 資料夾。

  2. 在剛建立的資料夾中建立 Dockerfile。

    Dockerfile 不使用副檔名,例如 .TXT。完整的檔案名稱為 Dockerfile

  3. 根據您設定容器映像的方式,複製下列其中一個程式碼區塊並貼至 Dockerfile:

    • 若要建立具有 Hello World 訊息的簡單靜態網站容器映像,請複製下列程式碼區塊並貼至 Dockerfile。此程式碼範本使用 Ubuntu 18.04 映像。RUN 指令會更新套件快取,以及安裝和設定 Apache,並將 Hello World 訊息寫至 Web 伺服器的文件根目錄。EXPOSE 指令會公開容器上的連接埠 80,而 CMD 指令會啟動 Web 伺服器。

      FROM ubuntu:18.04 # Install dependencies RUN apt-get update && \ apt-get -y install apache2 # Write hello world message RUN echo 'Hello World!' > /var/www/html/index.html # Open port 80 EXPOSE 80 # Start Apache service CMD ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"]
    • 若要將自己的一組 HTML 檔案用於靜態網站容器映像,請在存放 Dockerfile 的同一個資料夾中建立 html 資料夾。然後將 HTML 檔案放入該資料夾中。

      HTML 檔案位於 html 資料夾中之後,請複製以下程式碼區塊並貼至 Dockerfile。此程式碼範本使用 Ubuntu 18.04 映像。RUN 指令會更新套件快取,以及安裝和設定 Apache。COPY 指令會將 html 資料夾內容複製到 Web 伺服器的文件根目錄。EXPOSE 指令會公開容器上的連接埠 80,而 CMD 指令會啟動 Web 伺服器。

      FROM ubuntu:18.04 # Install dependencies RUN apt-get update && \ apt-get -y install apache2 # Copy html directory files COPY html /var/www/html/ # Open port 80 EXPOSE 80 CMD ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"]
  4. 開啟命令提示或終端機視窗,並將目錄變更為存放 Dockerfile 的資料夾。

  5. 輸入下列命令來使用資料夾中的 Dockerfile 建置容器映像。此命令會建置新的 Docker 容器映像,名為 mystaticwebsite

    docker build -t mystaticwebsite .

    這時應該會出現確認映像建置成功的訊息。

  6. 輸入下列命令來檢視本機電腦上的容器映像。

    docker images --filter reference=mystaticwebsite

    這時應該會出現類似以下範例的結果,顯示所建立的新容器映像。

    
            Docker 映像命令結果

    新建置的容器映像已可進行在本機電腦上執行新容器的測試。前往本指南下一節步驟 3:執行新的容器映像

步驟 3:執行新的容器映像

請完成以下步驟,以執行您建立的新容器映像。

  1. 在命令提示或終端機視窗中,輸入下列命令來執行在本指南上一節步驟 2:建立 Dockerfile 並建置容器映像所建置的容器映像。-p 8080:80 選項會將容器上的公開連接埠 80 對應至本機電腦上的連接埠 8080。-d 選項指定容器應在分離模式下執行。

    docker container run -d -p 8080:80 --name mystaticwebsite mystaticwebsite:latest
  2. 輸入下列命令來檢視執行中的容器。

    docker container ls -a

    這時應該會出現類似以下範例的結果,顯示新的執行中容器。

    
            Docker 容器命令結果
  3. 若要確認容器已處於運作狀態,請開啟新的瀏覽器視窗並瀏覽至 http://localhost:8080。這時應該會出現類似以下範例的訊息。此訊息確認容器已在本機電腦上運作。

    
            在 Docker 容器上執行的靜態網站

    新建置的容器映像已可推送到 Lightsail 帳戶,以便您將其部署至 Lightsail 容器服務。如需詳細資訊,請參閱在 Amazon Lightsail 容器服務上推送和管理容器映像

(選用) 步驟 4:清理在本機電腦上執行的容器

現在已建立可推送到 Lightsail 容器服務的容器映像,接著要按本指南所述程序清理本機電腦上執行的容器。

請完成下列步驟,以清理在本機電腦上執行的容器:

  1. 執行下列命令來檢視正在本機電腦上執行的容器。

    docker container ls -a

    這時應該會出現類似下面的結果,其中列出了在本機電腦上執行之容器的名稱。

    
            Docker 容器命令結果
  2. 執行下列命令來移除在本指南先前建立的執行中容器。這樣會強制停用容器,並將其永久刪除。

    docker container rm <ContainerName> --force

    將命令中的 <ContainerName> 取代為要停用之容器的名稱,然後進行刪除。

    範例:

    docker container rm mystaticwebsite --force

    本指南所建立的容器現在應已刪除。

建立容器映像後的後續步驟

建立容器映像後,在您準備好進行部署時,將這些映像推送到 Lightsail 容器服務。如需詳細資訊,請參閱管理 Lightsail 容器服務映像