(assets): Dockerfiles built on ARM do not run on Linux instances
- Dominant language
- TypeScript
- Stars
- 12.9k
- Forks
- 4.6k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 83
Description
### Describe the bug
Instead of:
```
FROM node:16-alpine3.13
```
Use:
```
FROM --platform=linux/amd64 node:16-alpine3.13
```
If building on an ARM machine, excluding `--platform` will result in an obscure deployment error.
### Expected Behavior
success
### Current Behavior
Deployment error
### Reproduction Steps
Run the EKS Integration test `integ.eks-service-account-sdk-call` with
```
FROM public.ecr.aws/docker/library/node:16-alpine3.13
```
at the top of the dockerfile.
### Possible Solution
_No response_
### Additional Information/Context
_No response_
### CDK CLI Version
2.76.0
### Framework Version
_No response_
### Node.js Version
16
### OS
OSX
### Language
Typescript, Python, .NET, Java, Go
### Language Version
_No response_
### Other information
_No response_
Contributor guide
Research direction
Start with the Dockerfile used by the integ.eks-service-account-sdk-call EKS integration test and inspect how its Node image is built on ARM. Reproduce the deployment failure with the stated public ECR image, then verify that an ARM-built image deploys successfully to a Linux instance and that the integration test passes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, docker, node.js
- Domain
- cloud, infrastructure
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100