@neoskop/dockerfile.js
Write configurable, scriptable, reusable dockerfiles in Typescript or plain Javascript.
Master
Develop
Usage
CLI
dockerfile-js dockerfile.ts
Generates the dockerfile
dockerfile-js dockerfile.ts | docker build -f - .
Build a docker image from the generated dockerfile
Typescript:
import { dockerfile, stage, image, run } from "@neoskop/dockerfile.js";
export default dockerfile().stages(
stage().from(image('node'))
.commands(
run('node --version')
)
);
Javascript:
const { dockerfile, stage, image, run } = require("@neoskop/dockerfile.js");
module.exports = dockerfile().stages(
stage().from(image('node'))
.commands(
run('node --version')
)
);
Static, factory and async factory export possible.
export default dockerfile().stages(...);
export default () => dockerfile().stages(...);
export default async () => dockerfile().stages(...);
module.exports dockerfile().stages(...);
module.exports () => dockerfile().stages(...);
module.exports async () => dockerfile().stages(...);
Documentation
See Dockerfile Reference for general dockerfile usage. Documentation for dockerfile.js not yet available. Look at the sources for usage details.
Commands
Misc
Testing
This package uses Jest with the ts-jest extension for testing. The following test commands are available
yarn test
Single test run
yarn test:watch
Reruns the tests on file changes
yarn test:cov
Generates a coverage report
yarn test:debug
Start the test in debug mode
Versioning
This package follows SemVer and uses @neoskop/flow-bump for versioning.
License
This project is licensed under the MIT License - see the LICENSE.md file for details