mirror of https://github.com/docker/docs.git
Switch to using machine IP over URL
This commit is contained in:
parent
ccf8776b43
commit
29bae21e6b
|
@ -5,18 +5,16 @@ var dockerode = require('dockerode');
|
|||
var Docker = {
|
||||
_host: null,
|
||||
_client: null,
|
||||
setup: function(url, name) {
|
||||
setup: function(ip, name) {
|
||||
var certDir = path.join(process.env[(process.platform === 'win32') ? 'USERPROFILE' : 'HOME'], '.docker/machine/machines', name);
|
||||
if (!fs.existsSync(certDir)) {
|
||||
return;
|
||||
}
|
||||
var ip = url.split(':')[1].replace('//', '');
|
||||
var port = url.split(':')[2];
|
||||
this._host = ip;
|
||||
this._client = new dockerode({
|
||||
protocol: 'https',
|
||||
host: ip,
|
||||
port: port,
|
||||
port: 2376,
|
||||
ca: fs.readFileSync(path.join(certDir, 'ca.pem')),
|
||||
cert: fs.readFileSync(path.join(certDir, 'cert.pem')),
|
||||
key: fs.readFileSync(path.join(certDir, 'key.pem'))
|
||||
|
|
|
@ -13,6 +13,7 @@ var template = require('./MenuTemplate');
|
|||
var util = require('./Util');
|
||||
var Menu = remote.require('menu');
|
||||
var bugsnag = require('bugsnag-js');
|
||||
var machine = require('./DockerMachine');
|
||||
|
||||
window.addEventListener('resize', function () {
|
||||
fs.writeFileSync(path.join(util.supportDir(), 'size'), JSON.stringify({
|
||||
|
@ -25,7 +26,7 @@ Menu.setApplicationMenu(Menu.buildFromTemplate(template()));
|
|||
|
||||
var settingsjson;
|
||||
try {
|
||||
settingsjson = JSON.parse(fs.readFileSync(path.join(__dirname, '..', 'settings.json'), 'utf8'));
|
||||
settingsjson = require(path.join(__dirname, '..', 'settings.json'), 'utf8');
|
||||
} catch (err) {
|
||||
settingsjson = {};
|
||||
}
|
||||
|
@ -82,8 +83,8 @@ setInterval(function () {
|
|||
}, 14400000);
|
||||
|
||||
router.run(Handler => React.render(<Handler/>, document.body));
|
||||
SetupStore.setup().then(machine => {
|
||||
docker.setup(machine.url, machine.name);
|
||||
SetupStore.setup().then(ip => {
|
||||
docker.setup(ip, machine.name());
|
||||
Menu.setApplicationMenu(Menu.buildFromTemplate(template()));
|
||||
ContainerStore.on(ContainerStore.SERVER_ERROR_EVENT, (err) => {
|
||||
bugsnag.notify(err);
|
||||
|
|
|
@ -219,19 +219,21 @@ var SetupStore = assign(Object.create(EventEmitter.prototype), {
|
|||
}
|
||||
}
|
||||
_currentStep = null;
|
||||
return yield machine.info();
|
||||
return yield machine.ip();
|
||||
}),
|
||||
setup: Promise.coroutine(function * () {
|
||||
while (true) {
|
||||
var info = yield this.run();
|
||||
if (!info.url) {
|
||||
var ip = yield this.run();
|
||||
ip = null;
|
||||
if (!ip || !ip.length) {
|
||||
metrics.track('Setup Failed', {
|
||||
step: 'done',
|
||||
message: 'Machine URL not set'
|
||||
message: 'Machine IP not set'
|
||||
});
|
||||
var virtualboxVersion = virtualBox.installed() ? yield virtualBox.version() : 'Not installed';
|
||||
bugsnag.notify('SetupError', 'Machine url was not set', {
|
||||
machine: info,
|
||||
bugsnag.notify('SetupError', 'Machine ip was not set', {
|
||||
machine: yield machine.info(),
|
||||
ip: ip,
|
||||
step: 'done',
|
||||
virtualbox: virtualboxVersion
|
||||
});
|
||||
|
@ -239,7 +241,7 @@ var SetupStore = assign(Object.create(EventEmitter.prototype), {
|
|||
yield this.pause();
|
||||
} else {
|
||||
metrics.track('Setup Finished');
|
||||
return info;
|
||||
return ip;
|
||||
}
|
||||
}
|
||||
})
|
||||
|
|
Loading…
Reference in New Issue