The AWS Copilot CLI is a tool for developers to build, release and operate production ready containerized applications on AWS App Runner or Amazon ECS on AWS Fargate.
In a task with manifest.yml unspecified, where our target servers are amd64 and on a local machine running arm64 architecture, running copilot svc deploy causes the project to be built targeting linux/arm64 rather than the documentation-specified default of linux/x86_64. This means that the image cannot be started and the deploy fails.
Details:
I'm running an M2 Macbook Pro
I am deploying from local to us-east-2
The process will proceed as normal, but the container will fail to start. After several failed attempts, it will roll back. The logs will just say that the core container "failed to start". No additional logs are given.
Expected result:
I would have expected the copilot svc deploy command to build for the documented default value of linux/x86_64 rather than for the local platform.
In the event that this mismatch did occur, I would have liked a more descriptive failure state.
Debugging:
I downloaded the image uploaded, used docker image inspect to verify its Architecture was incorrect, specified the platform manually to x86_64, redeployed, and observed a successful deployment.
Description:
In a task with
manifest.yml
unspecified, where our target servers areamd64
and on a local machine runningarm64
architecture, runningcopilot svc deploy
causes the project to be built targetinglinux/arm64
rather than the documentation-specified default oflinux/x86_64
. This means that the image cannot be started and the deploy fails.Details:
I'm running an M2 Macbook Pro I am deploying from local to us-east-2
copilot version: v1.34.0 Docker version 27.2.0, build 3ab4256958 (Docker Desktop CE)
Observed result:
The process will proceed as normal, but the container will fail to start. After several failed attempts, it will roll back. The logs will just say that the core container "failed to start". No additional logs are given.
Expected result:
I would have expected the
copilot svc deploy
command to build for the documented default value oflinux/x86_64
rather than for the local platform.In the event that this mismatch did occur, I would have liked a more descriptive failure state.
Debugging:
I downloaded the image uploaded, used
docker image inspect
to verify its Architecture was incorrect, specified theplatform
manually tox86_64
, redeployed, and observed a successful deployment.