Generating Dockerfile from JSON and generate JSON document from a Dockerfile.
- Update dependencies
- Update dependencies
- Update dependencies
- Reorganize code base
- Update dependencies
- Change code style
Release notes of previous versions: Release notes.
npm install dockerfile-generatorYou can find here the reference doc: References.
const generator = require('dockerfile-generator') const result = await generator.generateDockerFile(inputJson) // Result is a generated Dockerfile. const generateResult = generator.generateDockerFileFromArray(inputArray) // Result is a generated Dockerfile. const convertedJSON = generator.convertToJSON(inputDockerFile) // Result is a generated JSON from Dockerfile. const genereratedIgnore = await generator.generateIgnoreFile(ignoredElementsArray) // generatedIgnore is a generated dockerignore file { "from": "nginx:latest", "run": [ "adduser", "--disabled-password", "-gecos", "", "testuser" ], "volumes": [ "/home/testuser/app" ], "user": "testuser", "working_dir": "/home/testuser/app", "labels": { "name": "value" }, "env": { "env1": "value1", "env2": "value2" }, "add": { "test.run" : "/home/testuser/app/test.run" }, "copy": { "test.cmd" : "/home/testuser/app/test.cmd" }, "entrypoint": "tail", "cmd": ["-f", "/dev/null"], "expose": ["80/tcp"], "args": [ "value1", "value2"], "stopsignal": "stop", "shell": [ "/bin/bash", "-c", "echo", "hello" ], "comment": "This is a comment" }FROM nginx:latest RUN [ "adduser", "--disabled-password", "-gecos", "", "testuser" ] VOLUME /home/testuser/app USER testuser WORKDIR /home/testuser/app LABEL name=value ENV env1=value1 ENV env2=value2 ADD test.run /home/testuser/app/test.run COPY test.cmd /home/testuser/app/test.cmd ENTRYPOINT [ "tail" ] CMD [ "-f", "/dev/null" ] EXPOSE 80/tcp ARG value1 ARG value2 STOPSIGNAL stop SHELL [ "/bin/bash", "-c", "echo", "hello"] # This is a comment [ { "from": "nginx:latest" }, { "run": [ "adduser", "--disabled-password", "-gecos", "", "testuser" ] }, { "volumes": [ "/home/testuser/app" ] }, { "user": "testuser" }, { "working_dir": "/home/testuser/app" }, { "labels": { "name": "value" } }, { "env": { "env1": "value1", "env2": "value2" } }, { "add": { "test.run" : "/home/testuser/app/test.run" } }, { "copy": { "test.cmd" : "/home/testuser/app/test.cmd" } }, { "entrypoint": "tail" }, { "cmd": ["-f", "/dev/null"] }, { "expose": ["80/tcp"] }, { "args": [ "value1", "value2"] }, { "stopsignal": "stop" }, { "shell": [ "/bin/bash", "-c", "echo", "hello" ] }, ]FROM nginx:latest RUN [ "adduser", "--disabled-password", "-gecos", "", "testuser" ] VOLUME /home/testuser/app USER testuser WORKDIR /home/testuser/app LABEL name=value ENV env1=value1 ENV env2=value2 ADD test.run /home/testuser/app/test.run COPY test.cmd /home/testuser/app/test.cmd ENTRYPOINT [ "tail" ] CMD [ "-f", "/dev/null" ] EXPOSE 80/tcp ARG value1 ARG value2 STOPSIGNAL stop SHELL [ "/bin/bash", "-c", "echo", "hello"]FROM nginx:latest RUN [ "adduser", "--disabled-password", "-gecos", "", "testuser" ] VOLUME /home/testuser/app USER testuser WORKDIR /home/testuser/app LABEL name=value ENV env1=value1 ENV env2=value2 ADD test.run /home/testuser/app/test.run COPY test.cmd /home/testuser/app/test.cmd ENTRYPOINT [ "tail" ] CMD [ "-f", "/dev/null" ] EXPOSE 80/tcp ARG value1 ARG value2 STOPSIGNAL stop SHELL [ "/bin/bash", "-c", "echo", "hello"] # This is a comment { "from": "nginx:latest", "run": [ "adduser", "--disabled-password", "-gecos", "", "testuser" ], "volumes": [ "/home/testuser/app" ], "user": "testuser", "working_dir": "/home/testuser/app", "labels": { "name": "value" }, "env": { "env1": "value1", "env2": "value2" }, "add": { "test.run" : "/home/testuser/app/test.run" }, "copy": { "test.cmd" : "/home/testuser/app/test.cmd" }, "entrypoint": "tail", "cmd": ["-f", "/dev/null"], "expose": ["80/tcp"], "args": [ "value1", "value2"], "stopsignal": "stop", "shell": [ "/bin/bash", "-c", "echo", "hello" ], "comment_1": "This is a comment" }['node_modules','.git']node_modules .gitCopyright (c) 2015 Tibor Udvari. Released under the MIT license. See LICENSE for details.