本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Lightsail 容器服務映像
透過 Docker,可建置、執行、測試和部署以容器為基礎的分散式應用程式。Amazon Lightsail 容器服務在部署中使用 Docker 容器映像來啟動容器。
在本指南中,我們會為您介紹如何使用 Dockerfile 在本機電腦上建立容器映像。建立映像後,便可將其推送到 Lightsail 容器服務進行部署。
若要完成本指南中的程序,您應該對 Docker 及其運作方式有基本認識。如需有關 Docker 的詳細資訊,請參閱什麼是 Docker?
內容
步驟 1:完成先決條件
開始之前,必須安裝所需軟體來建立容器,然後將其推送到 Lightsail 容器服務。例如,必須安裝並使用 Docker 來建立和建置容器映像,以用於 Lightsail 容器服務。如需詳細資訊,請參閱安裝軟體以管理 Amazon Lightsail 容器服務的容器映像。
步驟 2:建立 Dockerfile 並建置容器映像
請完成下列程序來建立 Dockerfile,並利用其建置 mystaticwebsite
Docker 容器映像。容器映像將用於 Ubuntu 上 Apache Web 伺服器所託管的簡單靜態網站。
-
在您要存放 Dockerfile 的本機電腦上建立
mystaticwebsite
資料夾。 -
在剛建立的資料夾中建立 Dockerfile。
Dockerfile 不使用副檔名,例如
.TXT
。完整的檔案名稱為Dockerfile
。 -
根據您設定容器映像的方式,複製下列其中一個程式碼區塊並貼至 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"]
-
-
開啟命令提示或終端機視窗,並將目錄變更為存放 Dockerfile 的資料夾。
-
輸入下列命令來使用資料夾中的 Dockerfile 建置容器映像。此命令會建置新的 Docker 容器映像,名為
mystaticwebsite
。docker build -t mystaticwebsite .
這時應該會出現確認映像建置成功的訊息。
-
輸入下列命令來檢視本機電腦上的容器映像。
docker images --filter reference=mystaticwebsite
這時應該會出現類似以下範例的結果,顯示所建立的新容器映像。
新建置的容器映像已可進行在本機電腦上執行新容器的測試。前往本指南下一節步驟 3:執行新的容器映像。
步驟 3:執行新的容器映像
請完成以下步驟,以執行您建立的新容器映像。
-
在命令提示或終端機視窗中,輸入下列命令來執行在本指南上一節步驟 2:建立 Dockerfile 並建置容器映像所建置的容器映像。
-p 8080:80
選項會將容器上的公開連接埠 80 對應至本機電腦上的連接埠 8080。-d
選項指定容器應在分離模式下執行。docker container run -d -p 8080:80 --name mystaticwebsite mystaticwebsite:latest
-
輸入下列命令來檢視執行中的容器。
docker container ls -a
這時應該會出現類似以下範例的結果,顯示新的執行中容器。
-
若要確認容器已處於運作狀態,請開啟新的瀏覽器視窗並瀏覽至
http://localhost:8080
。這時應該會出現類似以下範例的訊息。此訊息確認容器已在本機電腦上運作。新建置的容器映像已可推送到 Lightsail 帳戶,以便您將其部署至 Lightsail 容器服務。如需詳細資訊,請參閱在 Amazon Lightsail 容器服務上推送和管理容器映像。
(選用) 步驟 4:清理在本機電腦上執行的容器
現在已建立可推送到 Lightsail 容器服務的容器映像,接著要按本指南所述程序清理本機電腦上執行的容器。
請完成下列步驟,以清理在本機電腦上執行的容器:
-
執行下列命令來檢視正在本機電腦上執行的容器。
docker container ls -a
這時應該會出現類似下面的結果,其中列出了在本機電腦上執行之容器的名稱。
-
執行下列命令來移除在本指南先前建立的執行中容器。這樣會強制停用容器,並將其永久刪除。
docker container rm <ContainerName> --force
將命令中的 <ContainerName> 取代為要停用之容器的名稱,然後進行刪除。
範例:
docker container rm
mystaticwebsite
--force本指南所建立的容器現在應已刪除。
建立容器映像後的後續步驟
建立容器映像後,在您準備好進行部署時,將這些映像推送到 Lightsail 容器服務。如需詳細資訊,請參閱管理 Lightsail 容器服務映像。