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