@@ -19,8 +19,8 @@ var Promise = require("bluebird");
1919var exec = Promise . promisify ( require ( 'child_process' ) . exec ) ;
2020var os = require ( "os" ) ;
2121var _ = require ( 'lodash' ) ;
22- var dockermachine = require ( 'dockermachineconfig' ) ;
2322var cliTable2Json = require ( 'cli-table-2-json' ) ;
23+ var DockerMachine = require ( 'dockermachine-cli-js' ) ;
2424
2525var Docker = function ( opts ) {
2626 if ( ! ( this instanceof Docker ) ) {
@@ -36,22 +36,32 @@ Docker.prototype.command = function(command, callback) {
3636
3737 return Promise . resolve ( ) . then ( function ( ) {
3838 if ( self . machinename ) {
39- return dockermachine . config ( self . machinename ) . then ( function ( data ) {
40- self . machineconfig = data ;
39+ var dockerMachine = new DockerMachine ( { } ) ;
40+
41+ return dockerMachine . command ( 'config ' + self . machinename ) . then ( function ( data ) {
42+ console . log ( 'data = ' , data ) ;
43+ self . machineconfig = data . machine . config ;
4144 } ) ;
45+
4246 }
4347 } ) . then ( function ( data ) {
4448
4549 if ( self . machineconfig ) {
46- exec_command += self . machineconfig . raw + ' ' ;
50+ exec_command += self . machineconfig + ' ' ;
4751 }
4852 exec_command += command + ' ' ;
4953
50- var exec_options = { } ;
54+ var exec_options = {
55+ env : {
56+ HOME : process . env . HOME ,
57+ PATH : process . env . PATH ,
58+ DEBUG : ''
59+ }
60+ } ;
5161 if ( self . cwd ) {
5262 exec_options . cwd = self . cwd ;
5363 }
54- // console.log('exec options =', exec_options);
64+ console . log ( 'exec options =' , exec_options ) ;
5565
5666 return exec ( exec_command , exec_options ) ;
5767
@@ -116,37 +126,8 @@ var extractResult = function (result) {
116126 run : function ( resultp ) {
117127 var obj = JSON . parse ( resultp . raw ) ;
118128 var lines = obj [ 0 ] . split ( os . EOL ) ;
119- var i , line , columns , container , lineObj ;
120- resultp . containerList = [ ] ;
121-
122- for ( i = 1 ; i < lines . length ; i ++ ) {
123- line = lines [ i ] . trim ( ) ;
124- if ( line . length === 0 ) {
125- continue ;
126- }
127- columns = line . split ( / [ ] + / ) ;
128- lineObj = { } ;
129- resultp . containerList . push ( lineObj ) ;
130- lineObj . containerId = columns [ 0 ] ;
131- lineObj . image = columns [ 1 ] ;
132- lineObj . command = columns [ 2 ] ;
133- lineObj . created = columns [ 3 ] ;
134- lineObj . status = columns [ 4 ] ;
135- lineObj . ports = columns [ 5 ] ;
136- lineObj . name = columns [ 6 ] ;
137- }
138-
139- //data = { command: 'docker ps ',
140- // raw: '["CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
141- // NAMES\\nc0df7ad37763 nginximg1 \\"nginx -g \'daemon off\\" 33 minutes ago Up 33 minutes 0.0.0.0:80->80/tcp, 443/tcp nginxcont\\n",""]',
142- //containerList:
143- //[ { containerId: 'c0df7ad37763',
144- // image: 'nginximg1',
145- // command: '"nginx -g \'daemon off"',
146- // created: '33 minutes ago',
147- // status: 'Up 33 minutes',
148- // ports: '0.0.0.0:80->80/tcp, 443/tcp',
149- // name: 'nginxcont' } ] }
129+
130+ resultp . containerList = cliTable2Json ( lines ) ;
150131
151132 return resultp ;
152133 }
0 commit comments