У меня есть лямбда-функция, которая выполняется по расписанию.
let params = {
taskDefinition: taskDefinition,
cluster: process.env.cluster,
startedBy: 'lambda',
count: process.env.count || 1,
overrides: {
containerOverrides: [{
name: containerName,
command: [
'/bin/bash',
'/usr/share/nginx/html/console/cronjobs/' + process.env.command
]
}]
}
};
if (typeof memory !== 'undefined') {
params.overrides.containerOverrides[0].memory = parseInt(memory);
}
ecs.runTask(
params,
(error, data) => {}
);
Он пытается запустить новую задачу из существующего определения задачи. Проблема заключается в том, что один из контейнеров Docker уже запущен с этим определением задачи (постоянный запуск, а не автоматический выход) и использует сопоставления портов, заданные в определении задачи (например, 80 => 8080).
Как запустить одно и то же определение задачи и игнорировать / переопределить сопоставления портов?
Или есть лучший способ запустить Task и запустить в нем одну команду bash?