no message

This commit is contained in:
kuaifan 2025-05-12 13:32:20 +08:00
parent 783c0356c7
commit 12265699b3

View File

@ -109,7 +109,7 @@ class Apps
// 生成docker-compose.yml文件
$composeFile = base_path('docker/appstore/apps/' . $appName . '/' . $versionInfo['version'] . '/docker-compose.yml');
$res = self::generateDockerComposeYml($composeFile, $appConfig['params']);
$res = self::generateDockerComposeYml($composeFile, $appConfig['params'], $appConfig['resources']);
if (Base::isError($res)) {
return $res;
}
@ -557,10 +557,11 @@ class Apps
/**
* 生成docker-compose.yml文件配置
* @param string $filePath docker-compose.yml文件路径
* @param array $params 可选参数替换docker-compose.yml中的${XXX}变量
* @param array $params 可选参数替换docker-compose.yml中的${XXX}变量,示例:{'APP_ID' => '123'}
* @param array $resources 可选资源限制,示例:{'cpu_limit' => '0.5', 'memory_limit' => '512M'}
* @return array
*/
private static function generateDockerComposeYml(string $filePath, array $params = []): array
private static function generateDockerComposeYml(string $filePath, array $params = [], array $resources = []): array
{
// 应用名称
$appName = basename(dirname($filePath, 2));
@ -617,6 +618,14 @@ class Apps
if (isset($service['volumes'])) {
$service['volumes'] = Volumes::processVolumeConfigurations($service['volumes'], $hostPwd);
}
// 处理资源限制
if (isset($resources['cpu_limit']) && $resources['cpu_limit']) {
$service['deploy']['resources']['limits']['cpus'] = $resources['cpu_limit'];
}
if (isset($resources['memory_limit']) && $resources['memory_limit']) {
$service['deploy']['resources']['limits']['memory'] = $resources['memory_limit'];
}
}
// 生成YAML内容