本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 Lightsail 中建立和管理容器服務部署
當您準備好在 Amazon Lightsail 容器服務上啟動容器時,請建立部署。部署是您希望在服務上啟動之容器的一組規格。容器服務一次可以有一個執行中的部署,而部署最多可有 10 個容器項目。您可以在建立容器服務的同時建立部署,也可在服務開始運作後建立部署。
注意
如果您建立新的部署,則容器服務的現有使用率指標將會消失,並且只顯示目前新部署的指標。
如需有關容器服務的詳細資訊,請參閱 Amazon Lightsail 中的容器服務。
內容
必要條件
開始在容器服務中建立部署之前,請完成以下事前準備:
-
在 Lightsail 帳戶中建立容器服務。如需詳細資訊,請參閱建立 Amazon Lightsail 容器服務。
-
找出您在容器服務上啟動容器時要使用的容器映像。
-
在公有登錄檔 (例如 Amazon ECR Public Gallery) 上尋找容器映像。如需詳細資訊,請參閱《Amazon ECR Public 使用者指南》中的 Amazon ECR Public Gallery
。 -
在本機電腦上建立容器映像,然後將其推送到 Lightsail 容器服務。如需詳細資訊,請參閱下列指南:
-
部署參數
本節說明您可以為部署的容器項目和公有端點指定的參數。
容器項目參數
您可以在部署中新增最多 10 個容器項目。您可以為每個容器項目指定下列參數:
![在 Lightsail 主控台中部署容器服務的組態](images/container-service-deployment-config.png)
-
Container name (容器名稱) – 輸入容器的名稱。部署中所有容器的名稱不得重複,並且只能包含英數字元和連字號。連字號可以分隔單字,但不能位於名稱的頭尾。
-
Source image (來源映像) – 指定容器的來源容器映像。您可以指定下列來源的容器映像:
-
公有登錄檔 (例如 Amazon ECR Public Gallery) 或一些其他公有容器映像登錄檔。
如需有關 Amazon ECR Public 的詳細資訊,請參閱《Amazon ECR Public 使用者指南》中的什麼是 Amazon Elastic Container Registry Public?。
-
已從本機電腦將映像推送到容器服務。若要指定存放的映像,請選擇選擇存放的映像,然後選取要使用的映像。
如果在本機電腦上建立容器映像,則可將其推送到容器服務,以便在建立部署時使用。如需詳細資訊,請參閱為 Amazon Lightsail 容器服務建立容器映像以及推送和管理 Amazon Lightsail 容器服務上的容器映像。
-
-
Launch command (啟動命令) – 指定啟動命令以執行在建立容器時設定容器的 Shell 指令碼或 Bash 指令碼。啟動命令可以執行多項動作,例如新增軟體、更新軟體,或以某種其他方式設定容器。
-
Environment variables (環境變數) – 指定環境變數。這些變數是索引鍵值參數,可提供由容器執行的應用程式或指令碼的動態組態。
-
Open ports (開啟連接埠) – 指定要在容器上開啟的連接埠和通訊協定。您可以指定透過 HTTP、HTTPS、TCP 和 UDP 開啟任何連接埠。您必須為您打算用作容器服務公有端點的容器開啟 HTTP 或 HTTPS 連接埠。如需詳細資訊,請參閱本指南以下章節。
公有端點參數
您可以在部署中指定容器項目,作為容器服務的公有端點。公有端點容器上的應用程式可透過隨機產生的容器服務預設網域,在網際網路上公開存取。預設網域的格式為https://
,其中 <ServiceName>
.<RandomGUID>
.<AWSRegion>
.cs.amazonlightsail.com< ServiceName >
是容器服務的名稱,<RandomGUID>是您 Lightsail 帳戶在 AWS 區域中隨機產生的容器服務全域唯一識別碼,而
< AWSRegion >
是建立容器服務的 AWS 區域。Lightsail 容器服務的公用端點僅支援 HTTPS,而且不支援 TCP 或 UDP 流量。一項服務只能以一個容器為公有端點。因此,請務必選擇託管應用程式前端的容器作為公有端點,而其他容器則在內部存取。
注意
您可以對容器服務使用自己的自訂網域名稱。如需詳細資訊,請參閱啟用和管理 Amazon Lightsail 容器服務的自訂網域。
您可以為部署和容器服務的公有端點指定下列參數:
![Lightsail 主控台中容器服務的公用端點](images/container-service-deployment-public-endpoint-config.png)
-
Endpoint container (端點容器) – 選取部署中將作為容器服務公有端點之容器的名稱。下拉式選單只會列出在部署中開啟 HTTP 或 HTTPS 連接埠的容器。
-
Port (連接埠) – 選取要用於公有端點的 HTTP 或 HTTPS 連接埠。下拉式選單只會列出在所選容器上開啟的 HTTP 和 HTTPS 連接埠。如果所選容器未設定為在初次啟動時支援 HTTPS 連線,請選取 HTTP 連接埠。
注意
即使您將 HTTP 連接埠選為公有端點連接埠,容器服務的預設網域也會預設使用 HTTPS。原因在於容器服務的負載平衡器雖預設為 HTTPS,但又是使用 HTTP 與容器建立連線。
容器服務的負載平衡器是以 HTTP 連接至容器,但會使用 HTTPS 來提供內容給使用者。
-
Health check path (運作狀態檢查路徑) – 在所選的公有端點容器上指定路徑,容器服務的負載平衡器會定期檢查路徑是否正常運作。
-
Advanced health check settings (進階運作狀態檢查設定) - 您可以為選取的公用端點容器設定下列運作狀態檢查設定:
-
Health check timeout seconds (運作狀態檢查逾時的秒數) - 等待運作狀態檢查回應的時間,以秒為單位。如果在這段時間內沒有收到任何回應,運作狀態檢查就會失敗。可以指定 2–60 秒。
-
Health check interval seconds (運作狀態檢查間隔秒) - 容器運作狀態檢查之間的約略間隔,以秒為單位。可以指定 5–300 秒。
-
Health check success codes (運作狀態檢查成功代碼) - 檢查來自容器的成功回應時所使用的 HTTP 碼。您可以指定介於 200 到 499 之間的值。可以指定多個值 (例如,200、202) 或值範圍 (例如,200–299)。
-
Health check healthy threshold (運作狀態檢查狀況良好閾值) - 將容器移至正常狀態所需要的連續運作狀態檢查成功次數。
-
Health check unhealthy threshold (運作狀態檢查狀況不良閾值) - 將容器移至狀況不良狀態所需要的連續運作狀態檢查失敗次數。
-
私有網域
所有容器服務也都有格式化為的私有網域
,其中 <ServiceName>
.service.local< ServiceName >
是容器服務的名稱。使用私有網域,以從與您的服務相同 AWS 區域的另一個 Lightsail 資源存取容器服務。如果您未在服務的部署中指定公有端點,則私有網域是存取容器服務的唯一方法。即使您未指定公有端點,系統仍會為容器服務產生預設網域,但在您嘗試瀏覽時會顯示 404 No Such Service
錯誤訊息。
若要使用容器服務的私有網域來存取特定容器,則必須指定容器的開放連接埠,以接受您的連線請求。您可以將要求的網域格式化為
,其中 <ServiceName>
.service.local:<PortNumber>
< ServiceName >
是容器服務的名稱,而 < PortNumber >
是您想要連線到的容器的開放連接埠來執行此操作。例如,如果在名為 container-service-1
的容器服務上建立部署,並指定連接埠 6379
開啟的 Redis 容器,則請求的網域格式應該為
。container-service-1
.service.local:6379
容器之間的通訊
使用環境變數,您可以開啟同一容器服務中的容器、不同容器服務中的容器之間或者容器與其他資源之間 (例如,容器和受管資料庫之間) 的通訊。
要在同一容器服務中開啟容器之間的通訊,請向引用 localhost
的容器部署新增一個環境變數,如下列範例所示。
![使用 Lightsail 主控台中的本機主機環境變數進行容器部署](images/amazon-lightsail-container-service-environment-variable-localhost.png)
要在不同容器服務中的容器之間開啟通訊,請將引用私有域的環境變量新增到容器部署中(例如container-service-1.service.local
),如下列範例所示。
![在 Lightsail 主控台中使用私有網域環境變數進行容器部署](images/amazon-lightsail-container-service-environment-variable-private-domain.png)
要開啟容器和其他資源之間的通訊,請向容器部署中新增引用資源的公有端點 URL 的環境變數。例如,Lightsail 受管理資料庫的公用端點通常ls-123abc.czoexamplezqi.us-west-2.rds.amazonaws.com
為。因此,您應按如下範例所示在環境變數中引用它。
![使用 Lightsail 主控台中的資源公用端點 URL 環境變數進行容器部署](images/amazon-lightsail-container-service-environment-variable-service.png)
容器日誌
部署中每個容器都會產生日誌。容器日誌會提供在容器中執行的 stdout 和 stderr 程序串流。請定期存取容器日誌以診斷其操作。如需詳細資訊,請參閱檢視 Amazon Lightsail 容器服務的容器日誌。
部署版本
您在容器服務中建立的每個部署都會儲存為部署版本。如果修改現有部署的參數,容器會重新部署至服務,而經修改的部署會產生新部署版本。每個容器服務的最新 50 個部署版本會儲存下來。您可使用 50 個部署版本之中任一個,在相同的容器服務中建立新部署。如需詳細資訊,請參閱檢視和管理 Amazon Lightsail 容器服務的部署版本。
部署狀態
部署在建立後可處於下列任一種狀態:
-
Activating (啟動中) – 部署處於啟動中狀態,並且正在建立容器。
-
Active (作用中) – 部署已建立成功,目前正在容器服務上執行。
-
Inactive (非作用中) – 先前成功建立的部署不再在容器上執行。
-
Failed (失敗) – 部署中指定的一或多個容器無法啟動,以致部署失敗。
部署失敗
如果部署中一或多個容器無法啟動,則部署就會失敗。如果部署失敗,而且容器服務上有先前的部署正在執行,則容器服務會將先前的部署保留為作用中的部署。如果不存在先前的部署,則容器服務會停在就緒狀態,無任何目前作用中的部署。
請檢視失敗部署的容器日誌,以診斷和排除問題。如需詳細資訊,請參閱檢視 Amazon Lightsail 容器服務的容器日誌。
檢視目前的容器服務部署
完成下列程序來檢視 Lightsail 容器服務上目前的部署。
-
登入主 Li ghtsail 台
。 -
在 Lightsail 首頁,選擇 Containers (容器) 索引標籤。
-
選擇您要檢視目前部署之容器服務的名稱。
-
在容器服務管理頁面上,選擇 Deployments (部署) 索引標籤。
Deployments (部署) 頁面會列出目前的部署和部署版本。如果您尚未在容器服務中建立部署,則該頁面的兩個區段皆為空白。
建立或修改容器服務部署
請完成下列程序,以在 Lightsail 容器服務上建立或修改部署。無論是建立新部署或修改現有部署,容器服務都會將每個部署儲存為新的部署版本。如需詳細資訊,請參閱檢視和管理 Amazon Lightsail 容器服務的部署版本。
-
登入主 Li ghtsail 台
。 -
在 Lightsail 首頁,選擇 Containers (容器) 索引標籤。
-
選擇您要建立或修改容器服務部署之容器服務的名稱。
-
在容器服務管理頁面上,選擇 Deployments (部署) 索引標籤。
Deployments (部署) 頁面會列出目前的部署和部署版本 (如果有)。
-
請選擇下列其中一個選項:
-
若容器服務具有現有的部署,則選擇 Modify your deployment (修改部署)。
-
若容器服務尚未具有部署,則選擇 Create a deployment (建立部署)。
部署表單隨即開啟,您可以在上面編輯現有的部署參數,或輸入新的部署參數。
-
-
輸入部署的參數。如需有關可指定之部署參數的詳細資訊,請參閱本指南前面的部署參數一節。
-
選擇 Add container entry (新增容器項目),以將多個容器項目新增至部署。部署可有最多 10 個容器項目。
-
選擇部署中的容器項目,作為容器服務的公有端點。這包括指定 HTTP 或 HTTPS 連接埠、所選容器項目上的運作狀態檢查路徑,以及進階運作狀態檢查設定。如需詳細資訊,請參閱本指南前述的公有端點參數。
-
部署參數輸入完畢時,請選擇 Save and deploy (儲存和部署),以在容器服務上建立部署。
部署正在建立時,容器服務狀態會變更為 Deploying (部署中)。幾分鐘之後,容器服務狀態會根據部署狀態變更為下列其中一種狀態:
-
如果部署成功,容器服務狀態會變更為 Running (執行中),而部署狀態會變更為 Active (作用中)。如果您已在部署中設定公有端點,則可透過容器服務預設網域使用選為公有端點的容器。
-
如果部署失敗,而且容器服務上有先前的部署正在執行,則容器服務狀態會變更為 Running (執行中),容器服務會將先前的部署保留為作用中的部署。如果不存在先前的部署,則容器服務狀態會變更為 Ready (就緒),且無任何目前作用中的部署。請檢視失敗部署的容器日誌,以診斷和排除問題。如需詳細資訊,請參閱檢視 Amazon Lightsail 容器服務的容器日誌。
-