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文件 // 生成docker-compose.yml文件
$composeFile = base_path('docker/appstore/apps/' . $appName . '/' . $versionInfo['version'] . '/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)) { if (Base::isError($res)) {
return $res; return $res;
} }
@ -557,10 +557,11 @@ class Apps
/** /**
* 生成docker-compose.yml文件配置 * 生成docker-compose.yml文件配置
* @param string $filePath 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 * @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)); $appName = basename(dirname($filePath, 2));
@ -617,6 +618,14 @@ class Apps
if (isset($service['volumes'])) { if (isset($service['volumes'])) {
$service['volumes'] = Volumes::processVolumeConfigurations($service['volumes'], $hostPwd); $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内容 // 生成YAML内容