Docker Compose YAML Parser
Parse and edit docker-compose.yaml
file using easy to use methods.
Installation
npm install docker-compose-parser --save
Usage
Parsing
- Parsing a docker-compose.yml file
- Parsing docker compose file string
- Parsing docker compose file object
🔥 Parsing a docker-compose.yml
file
import Parser from 'docker-compose-parser'
const compose = new Parser("./path/to/docker-compose.yml");
compose.getService().getImage().setName('test').setTag('1.2.3')
compose.writeToFile("./output/docker-compose.yml");
🔥 Parsing a docker compose String
import Parser from 'docker-compose-parser'
const response = fetch('https://example.com/path/to/docker-compose.yml')
const dockerComposeYaml = await response.text();
const compose = Parser.parse(dockerComposeYaml);
🔥 Parsing an existing docker compose Object
import Parser from 'docker-compose-parser'
const dockerComposeObj = {
services:
web: {
image: 'httpd:2.4.57',
restart: 'unless-stopped',
ports: [
{
target: 80,
published: 80,
protocol: 'tcp'
}
]
}
}
const compose = Parser.parse(dockerComposeObj);
Modifying
To be added
Saving
🔥 Get the final resulting docker compose object
const compose = new Parser("./path/to/docker-compose.yml");
compose.getService().getImage().setName('test').setTag('1.2.3')
console.log(compose.json())
console.log(JSON.stringify(compose.json()))
🔥 Get the final resulting docker compose YAML string
const compose = new Parser("./path/to/docker-compose.yml");
compose.getService().getImage().setName('test').setTag('1.2.3')
console.log(compose.text())
🔥 Writing to docker-compose.yml
file
const compose = new Parser("./path/to/docker-compose.yml");
compose.getService().getImage().setName('test').setTag('1.2.3')
compose.writeToFile('dist/docker-compose.yaml')