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-generator
You 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 .git
Copyright (c) 2015 Tibor Udvari. Released under the MIT license. See LICENSE for details.