Serverless Docker Artifacts plugin
A Serverless 1.x plugin to build your artifacts within docker container.
Installation and Usage
npm install --save serverless-docker-artifacts
Add the plugin to your serverless.yml
file and configure:
plugins: - serverless-docker-artifactscustom: dockerArtifact: path: '.' # Defaults to '.' dockerfile: Dockerfile-tesseract # Defaults to 'Dockerfile' args: # Pass args with --build-arg TESSERACT_VERSION: 4.0.0 TESSDATA: "osd eng rus" copy: tesseract-standalone # Not affected by path # If you have more than one dockerArtifacts: - path: build/somelib copy: somelib - path: build/tool copy: tool-portable
Then run sls deploy
or sls package
as usual.
Extra commands
This plugin defines commands to manufacture and clean artifacts without packaging them:
sls dockart create # Build all artifactsSLS_DEBUG="*" sls dockart create # Same, showing all the processsls dockart clean # Delete artifactssls dockart clean-docker # Delete docker images and containers
Note that if you are debugging a dockerfile you probaly have lots of dangling images and their containers. These are not removed by sls dockart clean-docker
, you need to handle it yourself.
API for your plugins
const dockart = require('serverless-docker-artifacts');// Create an artifactdockart.createArtifact({ path: 'path/to/', dockerfile: 'Dockerfile', args: {...}, copy: 'some-dir',})// Remove containers and imagesdockart.cleanDocker()