UNPKG

fivem-docker-cli

Version:

Command-line tool to create and administer FiveM Servers running in Docker.

48 lines (39 loc) 1.18 kB
const Docker = require("dockerode"); const docker = new Docker({ socketPath: "/var/run/docker.sock" }); const getPorts = container => { // Create Promise return new Promise((resolve, reject) => { // Gets the container information docker.getContainer(container.Id).inspect((err, data) => { let bindings = []; const ports = []; let bindingsLength = 0; let error; bindings = data.HostConfig.PortBindings; // Builds content for ports column on status table if (bindings) { for (let i in bindings) { ports.push({ Type: i.slice(i.indexOf("/") + 1), External: bindings[i][0].HostPort, Internal: i.slice(0, i.indexOf("/")) }); bindingsLength = bindingsLength + 1; } } // Check for completion and returns the ports. if (ports.length === bindingsLength) { resolve(ports); } if (error) { reject(error); } if (err) { error = err; } }); // resolve(); }) .catch((err) => reject(err)); }; module.exports = { getPorts };