AWS Beanstalk GHCR 是指将应用程序直接部署到 Docker 容器中并通过 Github Container Registry 进行管理的 AWS Beanstalk 环境。下面是一个使用 Dockerfile 部署 Flask 应用程序到 AWS Beanstalk GHCR 的示例:
Dockerfile:
FROM python:3.9
WORKDIR /app
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 5000
CMD [ "python", "app.py" ]
requirements.txt:
Flask==2.0.1
使用 gh 命令行工具登录到 Github Container Registry:
gh auth login
gh cr login
使用 Dockerfile 构建 Docker 镜像:
docker build -t ghcr.io///: .
将 Docker 镜像推送到 Github Container Registry:
docker push ghcr.io///:
在 AWS Beanstalk 环境中创建 Dockerrun.aws.json 文件:
Dockerrun.aws.json:
{
"AWSEBDockerrunVersion": 2,
"containerDefinitions": [
{
"name": "",
"image": "ghcr.io///:",
"essential": true,
"memory": 128,
"portMappings": [
{
"hostPort": 5000,
"containerPort": 5000
}
]
}
]
}
使用 eb 命令行工具部署应用程序:
eb create