Package Exports
- serverless-docker-artifacts
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (serverless-docker-artifacts) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
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-artifacts
custom:
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 artifacts
SLS_DEBUG="*" sls dockart create # Same, showing all the process
sls dockart clean # Delete artifacts
sls 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 artifact
dockart.createArtifact({
path: 'path/to/',
dockerfile: 'Dockerfile',
args: {...},
copy: 'some-dir',
})
// Remove containers and images
dockart.cleanDocker()