docker-serverless
docker-serverless copied to clipboard
Docker image containing NodeJS, Serverless Framework and Yarn.
amaysim/serverless
Docker image containing NodeJS, Serverless Framework and Yarn.
Usage
Docker run command
# running Serverless version 1.72.0
$ docker run --rm amaysim/serverless:1.72.0 serverless --help
Development
Prerequisites
- Docker
- Buildx
- Make
Build image locally
# build image locally with latest Serverless version
$ make build
# build image locally with specific Serverless version
$ make build SERVERLESS_VERSION=1.72.0
# go inside the container
$ make shell
# testing multi arch build with buildx
# you may need to create a builder first
$ docker buildx create --name mybuilder --use
$ make buildMultiArch
# run the test
$ make ciTest
Docker image update automation
Periodically, once a week, a new amaysim/serverless Docker image containing the lastest version of Serverless is being built with GitHub Actions. This means that there is no need for someone to manually update and tag the image whenever there is a new Serverless version.
Contributing
The project follows the typical GitHub pull request model. Before starting any work, please either comment on an existing issue, or file a new one.
- Fork this repository
- Clone the forked repository
- Create a new branch with a meaningful name (optional)
- Make your changes
- Test locally (see section "Development")
- Commit and push your changes
- Create a pull request from a fork
Docker image
The Docker image has the following:
- Node LTS (12.14.0) Alpine: we leverage Babel to be compatible with AWS Lambda runtime
- Serverless Framework
- yarn
- zip: handy to zip your own serverless artifact
- AWS CLI: required by some Serverless plug-ins to work
References
- https://docs.docker.com/desktop/multi-arch/
- https://www.docker.com/blog/multi-arch-build-and-images-the-simple-way/
- https://github.com/docker/setup-buildx-action
