diff --git a/meteor/client/lib/boot2docker.js b/meteor/client/lib/boot2docker.js index 36c44ad89d..9b4b34a512 100644 --- a/meteor/client/lib/boot2docker.js +++ b/meteor/client/lib/boot2docker.js @@ -23,7 +23,7 @@ Boot2Docker.exec = function (command, callback) { Boot2Docker.exists = function (callback) { this.exec(['info'], function (stderr, stdout, code) { - if (stderr) { + if (code) { callback(null, false); } else { callback(null, true); @@ -280,4 +280,4 @@ Boot2Docker.waitWhileStatus = function (status, callback) { }, function (err) { callback(err); }); -}; \ No newline at end of file +}; diff --git a/meteor/client/lib/imageutil.js b/meteor/client/lib/imageutil.js index db7cfc7442..84d7a9e4ba 100644 --- a/meteor/client/lib/imageutil.js +++ b/meteor/client/lib/imageutil.js @@ -29,21 +29,11 @@ var getImageJSON = function (directory) { }; ImageUtil.getMetaData = function (directory) { - var kiteJSON = getImageJSON(directory); - if (kiteJSON) { - if (!kiteJSON.name) { - kiteJSON.name = _.last(directory.split(path.sep)); - } - if (!kiteJSON.version) { - kiteJSON.version = 'latest'; - } - } else { - kiteJSON = { - name: _.last(directory.split(path.sep)), - version: 'latest' - }; - } - return kiteJSON; + var ret = { + name: _.last(directory.split(path.sep)).replace(/\s+/g, '-').toLowerCase(), + version: 'latest' + }; + return ret; }; ImageUtil.rebuildHelper = function (image, callback) { @@ -171,7 +161,7 @@ ImageUtil.build = function (image, callback) { buildLogs: [] } }); - Docker.client().buildImage(tarFilePath, {forcerm: true, t: image.meta.name + ':' + image.meta.version}, function (err, response) { + Docker.client().buildImage(tarFilePath, {forcerm: true, t: image.tags}, function (err, response) { if (err) { callback(err); return; } console.log('Building Docker image...'); response.setEncoding('utf8'); @@ -196,7 +186,7 @@ ImageUtil.build = function (image, callback) { console.error(e); } var imageData = null; - Docker.getImageData(image.meta.name + ':' + image.meta.version, function (err, data) { + Docker.getImageData(image.tags, function (err, data) { if (err) { console.error(err); Images.update(image._id, { diff --git a/meteor/client/views/dashboard/components/modal-create-image.js b/meteor/client/views/dashboard/components/modal-create-image.js index d9107cab69..6180063083 100755 --- a/meteor/client/views/dashboard/components/modal-create-image.js +++ b/meteor/client/views/dashboard/components/modal-create-image.js @@ -48,7 +48,17 @@ Template.modalCreateImage.events({ }; var imageMetaData = ImageUtil.getMetaData(directory); imageObj.meta = imageMetaData; + + var count = 2; imageObj.tags = [imageMetaData.name + ':' + imageMetaData.version]; + while (Images.findOne({tags: imageObj.tags})) { + imageObj.meta = { + name: imageMetaData.name + '-' + count, + version: imageMetaData.version + }; + imageObj.tags = [imageMetaData.name + '-' + count + ':' + imageMetaData.version]; + count++; + } var imageId = Images.insert(imageObj); $('#modal-create-image').modal('hide');