var clone = function() {
var newObj = (this instanceof Array) ? [] : {};
for (var i in this) {
if (this[i] && typeof this[i] == "object") {
newObj[i] = this[i].clone();
}
else
{
newObj[i] = this[i];
}
}
return newObj;
};
Object.defineProperty( Object.prototype, "clone", {value: clone, enumerable: false});
Учитывая ваш контекст, я думаю, что было бы лучше использовать привязку.
Предполагается, что изображение Docker может быть многократно использовано в другом контексте, и построение всего изображения исключительно для конкретной конфигурации (т. Е. Среды) будет препятствовать этой цели:
Документация Docker рекомендует:
Мы настоятельно рекомендуем использовать VOLUME для любых изменяемых и / или обслуживаемых пользователем частей вашего изображения.
blockquote>Хорошие варианты использования для bind mounts
Обмен файлами конфигурации с хост-машины на контейнеры.
blockquote>