mirror of https://github.com/docker/docs.git
Merge branch 'master' of github.com:kitematic/kitematic
Conflicts: README.md meteor/server/docker.js
This commit is contained in:
commit
b59d56457d
|
@ -1,6 +1,6 @@
|
||||||
# [Kitematic](https://kitematic.com)
|
# [Kitematic](https://kitematic.com)
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|
||||||
## Table of Contents
|
## Table of Contents
|
||||||
|
|
|
@ -10,9 +10,19 @@
|
||||||
<label>Host URL</label>
|
<label>Host URL</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-8">
|
<div class="col-xs-8">
|
||||||
{{url}}
|
{{hostUrl}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
{{#if ports}}
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-3">
|
||||||
|
<label>Ports</label>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-8">
|
||||||
|
{{ports}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-xs-3">
|
<div class="col-xs-3">
|
||||||
<label>Status</label>
|
<label>Status</label>
|
||||||
|
|
|
@ -59,11 +59,28 @@ Apps.helpers({
|
||||||
image: function () {
|
image: function () {
|
||||||
return Images.findOne(this.imageId);
|
return Images.findOne(this.imageId);
|
||||||
},
|
},
|
||||||
|
hostUrl: function () {
|
||||||
|
return this.name + '.dev';
|
||||||
|
},
|
||||||
|
ports: function () {
|
||||||
|
var app = this;
|
||||||
|
if (app.docker && app.docker.NetworkSettings.Ports) {
|
||||||
|
var ports = _.map(_.keys(app.docker.NetworkSettings.Ports), function (portObj) {
|
||||||
|
var port = parseInt(portObj.split('/')[0], 10);
|
||||||
|
return port;
|
||||||
|
});
|
||||||
|
return ports.join(', ');
|
||||||
|
} else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
},
|
||||||
url: function () {
|
url: function () {
|
||||||
var app = this;
|
var app = this;
|
||||||
var image = Images.findOne(app.imageId);
|
var image = Images.findOne(app.imageId);
|
||||||
if (image && image.meta.app && image.meta.app.webPort) {
|
if (image && image.meta.app && image.meta.app.webPort) {
|
||||||
return 'http://' + app.name + '.dev:' + image.meta.app.webPort;
|
return 'http://' + app.name + '.dev:' + image.meta.app.webPort;
|
||||||
|
} else if (image && image.meta.app && image.meta.app.webPort === false) {
|
||||||
|
return null;
|
||||||
} else {
|
} else {
|
||||||
// Picks the best port
|
// Picks the best port
|
||||||
if (app.docker && app.docker.NetworkSettings.Ports) {
|
if (app.docker && app.docker.NetworkSettings.Ports) {
|
||||||
|
|
|
@ -94,7 +94,7 @@ runContainer = function (app, image, callback) {
|
||||||
if (err) { callback(err, null); return; }
|
if (err) { callback(err, null); return; }
|
||||||
console.log('Started container: ' + container.id);
|
console.log('Started container: ' + container.id);
|
||||||
// Use dig to refresh the DNS
|
// Use dig to refresh the DNS
|
||||||
exec('/usr/bin/dig dig ' + app.name + '.dev @172.17.42.1 ', function(err, out, code) {});
|
exec('/usr/bin/dig dig ' + app.name + '.dev @172.17.42.1 ', function() {});
|
||||||
callback(null, container);
|
callback(null, container);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -134,7 +134,11 @@ var getFromImage = function (dockerfile) {
|
||||||
|
|
||||||
restartApp = function (app, callback) {
|
restartApp = function (app, callback) {
|
||||||
if (app.docker && app.docker.Id) {
|
if (app.docker && app.docker.Id) {
|
||||||
restartContainerSync(app.docker.Id);
|
try {
|
||||||
|
restartContainerSync(app.docker.Id);
|
||||||
|
} catch (e) {
|
||||||
|
console.error(e);
|
||||||
|
}
|
||||||
var containerData = getContainerDataSync(app.docker.Id);
|
var containerData = getContainerDataSync(app.docker.Id);
|
||||||
Fiber(function () {
|
Fiber(function () {
|
||||||
Apps.update(app._id, {$set: {
|
Apps.update(app._id, {$set: {
|
||||||
|
@ -143,9 +147,8 @@ restartApp = function (app, callback) {
|
||||||
}});
|
}});
|
||||||
}).run();
|
}).run();
|
||||||
callback(null);
|
callback(null);
|
||||||
|
|
||||||
// Use dig to refresh the DNS
|
// Use dig to refresh the DNS
|
||||||
exec('/usr/bin/dig dig ' + app.name + '.dev @172.17.42.1 ', function(err, out, code) {});
|
exec('/usr/bin/dig dig ' + app.name + '.dev @172.17.42.1 ', function() {});
|
||||||
} else {
|
} else {
|
||||||
callback(null);
|
callback(null);
|
||||||
}
|
}
|
||||||
|
@ -498,7 +501,13 @@ killAndRemoveContainers = function (names, callback) {
|
||||||
pullImageFromDockerfile = function (dockerfile, imageId, callback) {
|
pullImageFromDockerfile = function (dockerfile, imageId, callback) {
|
||||||
var fromImage = getFromImage(dockerfile);
|
var fromImage = getFromImage(dockerfile);
|
||||||
console.log('From image: ' + fromImage);
|
console.log('From image: ' + fromImage);
|
||||||
if (fromImage) {
|
var installedImage = null;
|
||||||
|
try {
|
||||||
|
installedImage = getImageDataSync(fromImage);
|
||||||
|
} catch (e) {
|
||||||
|
console.error(e);
|
||||||
|
}
|
||||||
|
if (fromImage && !installedImage) {
|
||||||
Fiber(function () {
|
Fiber(function () {
|
||||||
Images.update(imageId, {
|
Images.update(imageId, {
|
||||||
$set: {
|
$set: {
|
||||||
|
@ -538,6 +547,8 @@ pullImageFromDockerfile = function (dockerfile, imageId, callback) {
|
||||||
callback(null);
|
callback(null);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
} else {
|
||||||
|
callback(null);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -599,7 +610,11 @@ buildImage = function (image, callback) {
|
||||||
oldImageId = image.docker.Id;
|
oldImageId = image.docker.Id;
|
||||||
}
|
}
|
||||||
if (oldImageId && oldImageId !== imageData.Id) {
|
if (oldImageId && oldImageId !== imageData.Id) {
|
||||||
removeImageSync(oldImageId);
|
try {
|
||||||
|
removeImageSync(oldImageId);
|
||||||
|
} catch (e) {
|
||||||
|
console.error(e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}).run();
|
}).run();
|
||||||
callback(null);
|
callback(null);
|
||||||
|
|
Loading…
Reference in New Issue