Write configurable, scriptable, reusable dockerfiles in Typescript or plain Javascript.
dockerfile-js dockerfile.ts Generates the dockerfile
dockerfile-js dockerfile.ts | docker build -f - . Build a docker image from the generated dockerfile
import { dockerfile, stage, image, run } from "@neoskop/dockerfile.js";
export default dockerfile().stages(
stage().from(image('node'))
.commands(
run('node --version')
)
);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(...);See Dockerfile Reference for general dockerfile usage. Documentation for dockerfile.js not yet available. Look at the sources for usage details.
Commands
- ADD
- ARG
- CMD
- COPY
- ENTRYPOINT
- ENV
- EXPOSE
- FROM
- HEALTHCHECK
- LABEL
- ONBUILD
- RUN
- STOPSIGNAL
- USER
- VOLUME
- WORKDIR
- RAW
Misc
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
This package follows SemVer and uses @neoskop/flow-bump for versioning.
This project is licensed under the MIT License - see the LICENSE.md file for details