# 準備 Docker 映像以部署到 AWS Elastic Beanstalk [TOC] --- :::info # Abbreviations - **EB** = AWS **E**lastic **B**eanstalk - **ECS** = Amazon **E**lastic **C**ontainer **S**ervice ::: ## 使用 Docker Compose 管理映像 | `docker-compose.yml` | `Dockerfile` | `.zip` 檔 | | -------------------- | ------------ | --------- | | 🈶 | 🙅🏻 | 🚫不需要 | | 🈶 | 🈶 | ✅需要 | ### `docker-compose.yml` | 映像源 | 其它配置檔 | | ---------------------------------- | ---------- | | 所有部署的映像都來自**公共**存儲庫 | 🚫不需要 | | 部署的源映像位於**私有**存儲庫中 | ✅需要 | ### `Dockerfile` 可選項;若需要 **EB** 構建和運行本地自定義映像,請創建此檔。 ## 不使用 Docker Compose 管理映像 | `Dockerfile` | `Dockerrun.aws.json` | `.zip` 檔 | | ------------ | -------------------- | --------- | | 🈶 | 🙅🏻 | 🚫不需要 | | 🙅🏻 | 🈶 | 🚫不需要 | | 🈶 | 🈶 | ✅需要 | ### `Dockerfile` 使 **EB** 在本地構建並運行自定義映像。 ### `Dockerrun.aws.json` v1 配置檔 將 Docker 映像從託管存儲庫部署到 **EB**。 ## 使用 `Dockerfile` 構建自定義映像 | 在存儲庫託管現有映像 | `Dockerfile` | | -------------------- | ------------ | | 🈶 | 🚫不需要 | | 🙅🏻 | ✅需要 | ## `Dockerrun.aws.json` 版本 | 在存儲庫託管現有映像 | `AWSEBDockerrunVersion` | | ---------------------------------------------- | ----------------------- | | 不使用 Docker Compose 的環境 | `"1"` | | 在 Amazon Linux 2 和在 AL2023 上運行的 **ECS** | `"2"` | | 使用 Docker Compose 的環境 | `"3"` |