Docker 容器无法在使用 AWS ECR 的 AWS ECS 中运行
Docker Container not working in AWS ECS using AWS ECR
我只有一个 docker 容器,必须使用带有 Elastic Beanstalk 的 AWS ECR 部署在 AWS 云上。我正在使用 Dockerrun.aws.json
文件来提供有关存储库详细信息的信息。我已将图像推送到我的 docker 集线器和 Elastic Container Registry。
在 ECS 中使用 DockerHub,它可以从 docker 集线器中拉取 docker 图像并启动容器,没有任何问题并按预期运行应用程序。另一方面,当从同一应用程序的 AWS ECR 存储库中提取图像时,容器会停止。部署失败,原因如下:Essential container in task exited
Dockerrun.aws.json
{
"containerDefinitions": [
{
"essential": true,
"image": "01234567891.dkr.ecr.us-east-1.amazonaws.com/app:1",
"memory": 512,
"name": "web",
"portMappings": [
{
"containerPort": 5000,
"hostPort": 80
}
]
}
],
"family": "",
"volumes": [],
"AWSEBDockerrunVersion": "2"
}
我登录到实例并尝试获取容器的日志。
但是,我得到了这个错误 standard_init_linux.go:211: exec user process caused "exec format error"
Dockerfile
FROM python:3.4-alpine
ADD . /code
WORKDIR /code
RUN pip install -r requirements.txt
CMD ["python", "app.py"]
任务定义或 docker-compose 文件中似乎有 depended on
docker 容器。
如果容器 B
在 A
上打开,并且 A
是临时服务,因此容器 B
将自动退出。
您需要调试 A
退出的原因。
任务中的基本容器已退出
If a container marked as essential in task definitions exits or dies, that can cause a task to stop. When an essential container exiting is the cause of a stopped task, the Step 6 can provide more diagnostic information as to why the container stopped.
问题出在AWS CodeBuild Project上。我错误地为构建提供了错误的架构。 docker 图像构建在不同的体系结构上,并试图 运行 在部署状态下的不同体系结构上。我已更改为用于部署的相同架构。 docker 集线器映像和 ECR 映像似乎工作正常。
我只有一个 docker 容器,必须使用带有 Elastic Beanstalk 的 AWS ECR 部署在 AWS 云上。我正在使用 Dockerrun.aws.json
文件来提供有关存储库详细信息的信息。我已将图像推送到我的 docker 集线器和 Elastic Container Registry。
在 ECS 中使用 DockerHub,它可以从 docker 集线器中拉取 docker 图像并启动容器,没有任何问题并按预期运行应用程序。另一方面,当从同一应用程序的 AWS ECR 存储库中提取图像时,容器会停止。部署失败,原因如下:Essential container in task exited
Dockerrun.aws.json
{
"containerDefinitions": [
{
"essential": true,
"image": "01234567891.dkr.ecr.us-east-1.amazonaws.com/app:1",
"memory": 512,
"name": "web",
"portMappings": [
{
"containerPort": 5000,
"hostPort": 80
}
]
}
],
"family": "",
"volumes": [],
"AWSEBDockerrunVersion": "2"
}
我登录到实例并尝试获取容器的日志。
但是,我得到了这个错误 standard_init_linux.go:211: exec user process caused "exec format error"
Dockerfile
FROM python:3.4-alpine
ADD . /code
WORKDIR /code
RUN pip install -r requirements.txt
CMD ["python", "app.py"]
任务定义或 docker-compose 文件中似乎有 depended on
docker 容器。
如果容器 B
在 A
上打开,并且 A
是临时服务,因此容器 B
将自动退出。
您需要调试 A
退出的原因。
任务中的基本容器已退出
If a container marked as essential in task definitions exits or dies, that can cause a task to stop. When an essential container exiting is the cause of a stopped task, the Step 6 can provide more diagnostic information as to why the container stopped.
问题出在AWS CodeBuild Project上。我错误地为构建提供了错误的架构。 docker 图像构建在不同的体系结构上,并试图 运行 在部署状态下的不同体系结构上。我已更改为用于部署的相同架构。 docker 集线器映像和 ECR 映像似乎工作正常。