update structure
This commit is contained in:
		| @@ -1 +1,3 @@ | ||||
| FROM hosttoday/ht-docker-node:lts | ||||
| FROM hosttoday/ht-docker-node:lts | ||||
| COPY ./node_modules /app-node/node_modules | ||||
| COPY ./dist /app-node/dist  | ||||
							
								
								
									
										28
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,28 @@ | ||||
| # dockersock | ||||
| easy communication with docker from node, TypeScript ready | ||||
|  | ||||
| ## Status | ||||
| [](https://gitlab.com/pushrocks/dockersock/commits/master) | ||||
|  | ||||
| ## Usage | ||||
| We recommend the use of TypeScript for best Intellisense. | ||||
|  | ||||
| ```TypeScript | ||||
| import {Dockersock} from "dockersock"; // require Dockersock class | ||||
|  | ||||
| let myDockersock = new Dockersock(); // optional: you can pass a domain to the contructor, defaults to  /var/run/docker.sock | ||||
|  | ||||
| myDockersock.listContainers() // promise, resolve gets container data | ||||
| myDockersock.listContainersDetailed() // promise, resolve gets more detailed container data (by combining several requests internally) | ||||
| myDockersock.listContainersRunning() // promise, resolve gets container data for currently running containers | ||||
| myDockersock.listContainersStopped() // promise, resolve gets container data for stopped containers | ||||
|  | ||||
| myDockersock.startContainer({ // starts a already present container | ||||
|     name: "somecontainername" | ||||
| }) | ||||
|  | ||||
| myDockersock.newContainer({ // start new Container, equals "docker run" shell command | ||||
|     image: "someimagetag" | ||||
| }) | ||||
|  | ||||
| ``` | ||||
							
								
								
									
										6
									
								
								dist/dockersock.class.dockersock.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								dist/dockersock.class.dockersock.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| import "typings-global"; | ||||
| export declare class dockersock { | ||||
|     sockPath: string; | ||||
|     constructor(pathArg: string); | ||||
|     request(methodArg: string, routeArg: string, dataArg?: {}): any; | ||||
| } | ||||
							
								
								
									
										38
									
								
								dist/dockersock.class.dockersock.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								dist/dockersock.class.dockersock.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,38 @@ | ||||
| "use strict"; | ||||
| require("typings-global"); | ||||
| var plugins = require("./dockersock.plugins"); | ||||
| var dockersock = (function () { | ||||
|     function dockersock(pathArg) { | ||||
|         this.sockPath = pathArg; | ||||
|     } | ||||
|     dockersock.prototype.request = function (methodArg, routeArg, dataArg) { | ||||
|         if (dataArg === void 0) { dataArg = {}; } | ||||
|         var done = plugins.q.defer(); | ||||
|         var jsonArg = JSON.stringify(dataArg); | ||||
|         var options = { | ||||
|             method: methodArg, | ||||
|             url: "http://unix:/var/run/docker.sock:" + routeArg + "/json", | ||||
|             headers: { | ||||
|                 "Content-Type": "application/json" | ||||
|             }, | ||||
|             body: jsonArg | ||||
|         }; | ||||
|         plugins.request(options, function (err, res, body) { | ||||
|             if (!err && res.statusCode == 200) { | ||||
|                 var responseObj = JSON.parse(body); | ||||
|                 done.resolve(responseObj); | ||||
|             } | ||||
|             else { | ||||
|                 console.log(err); | ||||
|                 console.log(res); | ||||
|                 done.reject(err); | ||||
|             } | ||||
|             ; | ||||
|         }); | ||||
|         return done.promise; | ||||
|     }; | ||||
|     return dockersock; | ||||
| }()); | ||||
| exports.dockersock = dockersock; | ||||
|  | ||||
| //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRvY2tlcnNvY2suY2xhc3MuZG9ja2Vyc29jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFDUCxDQUFDLENBRHNCO0FBQ3ZCLElBQVksT0FBTyxXQUFNLHNCQUFzQixDQUFDLENBQUE7QUFFaEQ7SUFFSSxvQkFBWSxPQUFjO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO0lBQzVCLENBQUM7SUFFRCw0QkFBTyxHQUFQLFVBQVEsU0FBZ0IsRUFBQyxRQUFlLEVBQUMsT0FBWTtRQUFaLHVCQUFZLEdBQVosWUFBWTtRQUNqRCxJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzdCLElBQUksT0FBTyxHQUFVLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0MsSUFBSSxPQUFPLEdBQUc7WUFDVixNQUFNLEVBQUMsU0FBUztZQUNoQixHQUFHLEVBQUMsbUNBQW1DLEdBQUcsUUFBUSxHQUFHLE9BQU87WUFDNUQsT0FBTyxFQUFDO2dCQUNKLGNBQWMsRUFBQyxrQkFBa0I7YUFDcEM7WUFDRCxJQUFJLEVBQUMsT0FBTztTQUNmLENBQUM7UUFDRixPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBQyxVQUFTLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSTtZQUMzQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsVUFBVSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hDLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ25DLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDOUIsQ0FBQztZQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNKLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDckIsQ0FBQztZQUFBLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFDTCxpQkFBQztBQUFELENBN0JBLEFBNkJDLElBQUE7QUE3Qlksa0JBQVUsYUE2QnRCLENBQUEiLCJmaWxlIjoiZG9ja2Vyc29jay5jbGFzcy5kb2NrZXJzb2NrLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIlxuaW1wb3J0ICogYXMgcGx1Z2lucyBmcm9tIFwiLi9kb2NrZXJzb2NrLnBsdWdpbnNcIjtcblxuZXhwb3J0IGNsYXNzIGRvY2tlcnNvY2sge1xuICAgIHNvY2tQYXRoOnN0cmluZztcbiAgICBjb25zdHJ1Y3RvcihwYXRoQXJnOnN0cmluZyl7XG4gICAgICAgIHRoaXMuc29ja1BhdGggPSBwYXRoQXJnO1xuICAgIH1cbiAgICBcbiAgICByZXF1ZXN0KG1ldGhvZEFyZzpzdHJpbmcscm91dGVBcmc6c3RyaW5nLGRhdGFBcmcgPSB7fSl7XG4gICAgICAgIGxldCBkb25lID0gcGx1Z2lucy5xLmRlZmVyKCk7XG4gICAgICAgIGxldCBqc29uQXJnOnN0cmluZyA9IEpTT04uc3RyaW5naWZ5KGRhdGFBcmcpO1xuICAgICAgICBsZXQgb3B0aW9ucyA9IHtcbiAgICAgICAgICAgIG1ldGhvZDptZXRob2RBcmcsXG4gICAgICAgICAgICB1cmw6XCJodHRwOi8vdW5peDovdmFyL3J1bi9kb2NrZXIuc29jazpcIiArIHJvdXRlQXJnICsgXCIvanNvblwiLFxuICAgICAgICAgICAgaGVhZGVyczp7XG4gICAgICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjpcImFwcGxpY2F0aW9uL2pzb25cIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGJvZHk6anNvbkFyZ1xuICAgICAgICB9O1xuICAgICAgICBwbHVnaW5zLnJlcXVlc3Qob3B0aW9ucyxmdW5jdGlvbihlcnIsIHJlcywgYm9keSl7XG4gICAgICAgICAgICBpZiAoIWVyciAmJiByZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcbiAgICAgICAgICAgICAgICB2YXIgcmVzcG9uc2VPYmogPSBKU09OLnBhcnNlKGJvZHkpO1xuICAgICAgICAgICAgICAgIGRvbmUucmVzb2x2ZShyZXNwb25zZU9iaik7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2cocmVzKTtcbiAgICAgICAgICAgICAgICBkb25lLnJlamVjdChlcnIpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBkb25lLnByb21pc2U7XG4gICAgfVxufSJdfQ== | ||||
							
								
								
									
										4
									
								
								dist/dockersock.plugins.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								dist/dockersock.plugins.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| import "typings-global"; | ||||
| export import beautylog = require("beautylog"); | ||||
| export declare let q: any; | ||||
| export declare let request: any; | ||||
							
								
								
									
										7
									
								
								dist/dockersock.plugins.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								dist/dockersock.plugins.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | ||||
| "use strict"; | ||||
| require("typings-global"); | ||||
| exports.beautylog = require("beautylog"); | ||||
| exports.q = require("q"); | ||||
| exports.request = require("request"); | ||||
|  | ||||
| //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRvY2tlcnNvY2sucGx1Z2lucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ1YsaUJBQVMsV0FBVyxXQUFXLENBQUMsQ0FBQztBQUNwQyxTQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2pCLGVBQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMiLCJmaWxlIjoiZG9ja2Vyc29jay5wbHVnaW5zLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcbmV4cG9ydCBpbXBvcnQgYmVhdXR5bG9nID0gcmVxdWlyZShcImJlYXV0eWxvZ1wiKTtcbmV4cG9ydCBsZXQgcSA9IHJlcXVpcmUoXCJxXCIpO1xuZXhwb3J0IGxldCByZXF1ZXN0ID0gcmVxdWlyZShcInJlcXVlc3RcIik7Il19 | ||||
| @@ -1,10 +1,11 @@ | ||||
| { | ||||
|   "name": "dockersock", | ||||
|   "version": "1.0.0", | ||||
|   "description": "communicate with docker sock from node", | ||||
|   "description": "easy communication with docker from node, TypeScript ready", | ||||
|   "main": "dist/index.js", | ||||
|   "scripts": { | ||||
|     "test": "npmts" | ||||
|     "test": "npmts", | ||||
|     "testindocker":"npmts && docker-machine start default; eval \"$(docker-machine env default)\" && docker build -t test-image . && docker run test-image"  | ||||
|   }, | ||||
|   "repository": { | ||||
|     "type": "git", | ||||
|   | ||||
| @@ -6,7 +6,28 @@ export class dockersock { | ||||
|     constructor(pathArg:string){ | ||||
|         this.sockPath = pathArg; | ||||
|     } | ||||
|     request(){ | ||||
|          | ||||
|      | ||||
|     request(methodArg:string,routeArg:string,dataArg = {}){ | ||||
|         let done = plugins.q.defer(); | ||||
|         let jsonArg:string = JSON.stringify(dataArg); | ||||
|         let options = { | ||||
|             method:methodArg, | ||||
|             url:"http://unix:/var/run/docker.sock:" + routeArg + "/json", | ||||
|             headers:{ | ||||
|                 "Content-Type":"application/json" | ||||
|             }, | ||||
|             body:jsonArg | ||||
|         }; | ||||
|         plugins.request(options,function(err, res, body){ | ||||
|             if (!err && res.statusCode == 200) { | ||||
|                 var responseObj = JSON.parse(body); | ||||
|                 done.resolve(responseObj); | ||||
|             } else { | ||||
|                 console.log(err); | ||||
|                 console.log(res); | ||||
|                 done.reject(err); | ||||
|             }; | ||||
|         }); | ||||
|         return done.promise; | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user