第 3 步:创建应用程序映像并将 Docker 文件上传到您的 Amazon ECR 存储库 - Amazon Keyspaces(Apache Cassandra 兼容)
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

第 3 步:创建应用程序映像并将 Docker 文件上传到您的 Amazon ECR 存储库

在此步骤中,您将编译示例应用程序,构建 Docker 映像,然后将该映像推送到您的 Amazon ECR 存储库。

构建您的应用程序,构建 Docker 镜像,然后将其提交到 Amazon 弹性容器注册表
  1. 为版本设置用于定义您的环境变量 Amazon Web Services 区域。将示例中的区域替换为您自己的区域。

    export CASSANDRA_HOST=cassandra.aws-region.amazonaws.com:9142 export CASSANDRA_DC=aws-region
  2. 使用以下命令使用 Apache Maven 3.6.3 或更高版本编译应用程序。

    mvn clean install

    这将创建一个包含所有依赖项的JARtarget文件。

  3. 使用以下命令检索下一步所需的 ECR 存储库 URI。请务必将该区域更新为你一直在使用的区域。

    aws ecr describe-repositories --region aws-region

    输出应如以下示例所示。

    "repositories": [ { "repositoryArn": "arn:aws:ecr:aws-region:111122223333:repository/my-ecr-repository", "registryId": "111122223333", "repositoryName": "my-ecr-repository", "repositoryUri": "111122223333.dkr.ecr.aws-region.amazonaws.com/my-ecr-repository", "createdAt": "2023-11-02T03:46:34+00:00", "imageTagMutability": "MUTABLE", "imageScanningConfiguration": { "scanOnPush": false }, "encryptionConfiguration": { "encryptionType": "AES256" } },
  4. 使用上一步中的存储库 URI 从应用程序的根目录构建 Docker 镜像。根据需要修改 Docker 文件。在构建命令中,请务必替换您的账户 ID,并将设置为 Amazon ECR 存储库my-ecr-repository所在的区域。 Amazon Web Services 区域

    docker build -t 111122223333.dkr.ecr.aws-region.amazonaws.com/my-ecr-repository:latest .
  5. 检索身份验证令牌将 Docker 镜像推送到 Amazon ECR。您可以使用以下命令执行此操作。

    aws ecr get-login-password --region aws-region | docker login --username AWS --password-stdin 111122223333.dkr.ecr.aws-region.amazonaws.com
  6. 首先,检查您的 Amazon ECR 存储库中是否有现有图像。您可使用以下命令。

    aws ecr describe-images --repository-name my-ecr-repository --region aws-region

    然后,将 Docker 镜像推送到存储库。您可使用以下命令。

    docker push 111122223333.dkr.ecr.aws-region.amazonaws.com/my-ecr-repository:latest