From de88688cabcb654cc9d0c3292a81ed951ff2d0b4 Mon Sep 17 00:00:00 2001 From: French Ben Date: Thu, 26 May 2016 21:34:58 -0700 Subject: [PATCH] Fixed container exec Signed-off-by: French Ben --- src/utils/DockerMachineUtil.js | 42 +++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/src/utils/DockerMachineUtil.js b/src/utils/DockerMachineUtil.js index 634c8059ac..049f8b9bd8 100644 --- a/src/utils/DockerMachineUtil.js +++ b/src/utils/DockerMachineUtil.js @@ -147,29 +147,33 @@ var DockerMachine = { }); }, dockerTerminal: function (cmd, machineName = this.name()) { + cmd = cmd || process.env.SHELL || ''; if (util.isWindows()) { - cmd = cmd || ''; - this.url(machineName).then(machineUrl => { - util.exec('start powershell.exe ' + cmd, - {env: { - 'DOCKER_HOST': machineUrl, - 'DOCKER_CERT_PATH': path.join(util.home(), '.docker', 'machine', 'machines', machineName), - 'DOCKER_TLS_VERIFY': 1 - } + if (util.isNative()) { + util.exec('start powershell.exe ' + cmd); + } else { + this.url(machineName).then(machineUrl => { + util.exec('start powershell.exe ' + cmd, + {env: { + 'DOCKER_HOST': machineUrl, + 'DOCKER_CERT_PATH': path.join(util.home(), '.docker', 'machine', 'machines', machineName), + 'DOCKER_TLS_VERIFY': 1 + } + }); }); - }); - } else if (util.isNative()) { - cmd = cmd || process.env.SHELL; - var terminal = util.isLinux() ? util.linuxTerminal() : [path.join(process.env.RESOURCES_PATH, 'terminal')]; - terminal.push(cmd); - if (terminal) { - util.execFile(terminal).then(() => {}); } } else { - cmd = cmd || process.env.SHELL; - this.url(machineName).then(machineUrl => { - util.execFile([path.join(process.env.RESOURCES_PATH, 'terminal'), `DOCKER_HOST=${machineUrl} DOCKER_CERT_PATH=${path.join(util.home(), '.docker/machine/machines/' + machineName)} DOCKER_TLS_VERIFY=1 ${cmd}`]).then(() => {}); - }); + var terminal = util.isLinux() ? util.linuxTerminal() : [path.join(process.env.RESOURCES_PATH, 'terminal')]; + if (util.isNative()) { + terminal.push(cmd); + util.execFile(terminal).then(() => {}); + } else { + this.url(machineName).then(machineUrl => { + terminal.push(`DOCKER_HOST=${machineUrl} DOCKER_CERT_PATH=${path.join(util.home(), '.docker/machine/machines/' + machineName)} DOCKER_TLS_VERIFY=1`); + terminal.push(cmd); + util.execFile(terminal).then(() => {}); + }); + } } }, virtualBoxLogs: function (machineName = this.name()) {