diff --git a/src/docker.js b/src/docker.js index 96947414d..76b782b36 100644 --- a/src/docker.js +++ b/src/docker.js @@ -117,8 +117,9 @@ function downloadImage(manifest, callback) { }, callback); } -function createSubcontainer(app, cmd, callback) { +function createSubcontainer(app, name, cmd, callback) { assert.strictEqual(typeof app, 'object'); + assert.strictEqual(typeof name, 'string'); assert(!cmd || util.isArray(cmd)); assert.strictEqual(typeof callback, 'function'); @@ -159,6 +160,7 @@ function createSubcontainer(app, cmd, callback) { var containerOptions = { // do _not_ set hostname to app fqdn. doing so sets up the dns name to look up the internal docker ip. this makes curl from within container fail Hostname: semver.gte(targetBoxVersion(app.manifest), '0.0.77') ? app.location : config.appFqdn(app.location), + Name: name, // used for filtering logs Tty: isAppContainer, Image: app.manifest.dockerImage, Cmd: cmd, @@ -201,7 +203,7 @@ function createSubcontainer(app, cmd, callback) { } function createContainer(app, callback) { - createSubcontainer(app, null, callback); + createSubcontainer(app, app.id /* name */, null /* cmd */, callback); } function startContainer(containerId, callback) { diff --git a/src/scheduler.js b/src/scheduler.js index b09b6d672..882d90284 100644 --- a/src/scheduler.js +++ b/src/scheduler.js @@ -180,7 +180,7 @@ function doTask(appId, taskName, callback) { debug('Creating createSubcontainer for %s/%s : %s', app.id, taskName, gState[appId].schedulerConfig[taskName].command); - docker.createSubcontainer(app, [ '/bin/sh', '-c', gState[appId].schedulerConfig[taskName].command ], function (error, container) { + docker.createSubcontainer(app, app.id + '-' + taskName, [ '/bin/sh', '-c', gState[appId].schedulerConfig[taskName].command ], function (error, container) { appState.containerIds[taskName] = container.id; saveState(gState);