Skip to content

Commit

Permalink
feat(docker): show image use by container
Browse files Browse the repository at this point in the history
  • Loading branch information
koromerzhin committed Jan 24, 2023
1 parent ecd6dd2 commit 4ea4634
Show file tree
Hide file tree
Showing 7 changed files with 67 additions and 4 deletions.
1 change: 1 addition & 0 deletions lib/ProgramAction.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ export declare class ProgramAction {
constructor(dotenv: any, docker: any, commands: any, dockerScripts: any);
docker_waiting(options: any): Promise<void>;
docker_getpull_image(options: any): Promise<void>;
docker_get_image(options: any): Promise<void>;
docker_getname_container(options: any): Promise<void>;
php_download_phar(options: any): Promise<void>;
global_command(): void;
Expand Down
23 changes: 23 additions & 0 deletions lib/ProgramAction.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
Object.defineProperty(exports, "__esModule", { value: true });
exports.ProgramAction = void 0;
const fs = require('fs');
const yaml = require('yaml');
class ProgramAction {
constructor(dotenv, docker, commands, dockerScripts) {
this.dotenv = [];
Expand Down Expand Up @@ -54,6 +55,28 @@ class ProgramAction {
}
});
}
docker_get_image(options) {
return __awaiter(this, void 0, void 0, function* () {
if (options.files == undefined && this.dotenv.DOCKERCOMPOSEFILES != undefined) {
options.files = this.dotenv.DOCKERCOMPOSEFILES;
options.files = options.files.split(' ');
}
if (options.files != undefined && options.key != undefined) {
options.files.forEach((dockerfile) => __awaiter(this, void 0, void 0, function* () {
const file = fs.readFileSync(dockerfile, 'utf8');
const parsing = yaml.parse(file);
for (let key in parsing.services) {
if (key == options.key) {
console.log(parsing.services[key].image);
}
}
}));
}
else {
console.warn('files and key not found');
}
});
}
docker_getname_container(options) {
return __awaiter(this, void 0, void 0, function* () {
if (options.stack == undefined && this.dotenv.STACK != undefined) {
Expand Down
7 changes: 7 additions & 0 deletions lib/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,13 @@ program.command('docker_getpull-image')
.action((options) => __awaiter(void 0, void 0, void 0, function* () {
yield programAction.docker_getpull_image(options);
}));
program.command('docker:get-image')
.description('get image')
.option('--files <files...>', 'File(s) docker-compose.yml')
.option('--key <key>', 'Key of services')
.action((options) => __awaiter(void 0, void 0, void 0, function* () {
yield programAction.docker_get_image(options);
}));
program.command('docker_getname-container')
.description('get name container')
.option('--stack <stack>', 'stack name')
Expand Down
2 changes: 1 addition & 1 deletion lib/tsconfig.tsbuildinfo

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "korojscommands",
"version": "1.2.7",
"version": "1.2.8",
"description": "Js commands for docker stack",
"scripts": {
"build": "tsc",
Expand Down
26 changes: 25 additions & 1 deletion src/ProgramAction.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
const fs = require('fs');
const yaml = require('yaml');
export class ProgramAction {
dotenv: any = []
docker: any;
Expand Down Expand Up @@ -27,7 +28,6 @@ export class ProgramAction {
console.warn('you must have STACK, STATUS and CONTAINER option');
}
}

async docker_getpull_image(options: any) {
await this.dockerScripts.getImagesLocal(0);
if (options.files == undefined && this.dotenv.DOCKERCOMPOSEFILES != undefined) {
Expand All @@ -43,6 +43,27 @@ export class ProgramAction {
}
}

async docker_get_image(options: any) {
if (options.files == undefined && this.dotenv.DOCKERCOMPOSEFILES != undefined) {
options.files = this.dotenv.DOCKERCOMPOSEFILES;
options.files = options.files.split(' ');
}
if (options.files != undefined && options.key != undefined) {
options.files.forEach(async (dockerfile: any) => {
const file = fs.readFileSync(dockerfile, 'utf8');
const parsing = yaml.parse(file);
for (let key in parsing.services) {
if (key == options.key) {
console.log(parsing.services[key].image);
}
}
});
} else {
console.warn('files and key not found');
}
}


async docker_getname_container(options: any) {
if (options.stack == undefined && this.dotenv.STACK != undefined) {
options.stack = this.dotenv.STACK;
Expand Down Expand Up @@ -104,6 +125,9 @@ export class ProgramAction {
}
if (options.ip != undefined) {
let command = 'docker swarm init --default-addr-pool ' + options.ip;
if (this.dotenv.ADVERTISEADDR != undefined) {
command += ' --advertise-addr ' + this.dotenv.ADVERTISEADDR;
}
this.commands.exec(command);
} else {
console.warn('IP not found');
Expand Down
10 changes: 9 additions & 1 deletion src/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env node
const version = '1.2.7';
const version = '1.2.8';
const Docker = require('dockerode');
const dotenvConfig = require('dotenv').config();
const { program } = require('commander');
Expand Down Expand Up @@ -46,6 +46,14 @@ program.command('docker_getpull-image')
await programAction.docker_getpull_image(options);
});

program.command('docker_get-image')
.description('get image')
.option('--files <files...>', 'File(s) docker-compose.yml')
.option('--key <key>', 'Key of services')
.action(async (options: any) => {
await programAction.docker_get_image(options);
});

program.command('docker_getname-container')
.description('get name container')
.option('--stack <stack>', 'stack name')
Expand Down

0 comments on commit 4ea4634

Please sign in to comment.