🐛 调整变量读取方式 🐛 修复Dockerfile问题
This commit is contained in:
parent
45d4342454
commit
0f55926ce3
|
|
@ -42,7 +42,19 @@ public class BackupService(ILogger<BackupService> logger, IConfiguration config,
|
||||||
var url = _config.GetValue<string>("Database:Host") ?? "172.17.0.1";
|
var url = _config.GetValue<string>("Database:Host") ?? "172.17.0.1";
|
||||||
var user = _config.GetValue<string>("Database:User") ?? "backupUser";
|
var user = _config.GetValue<string>("Database:User") ?? "backupUser";
|
||||||
var password = _config.GetValue<string>("Database:Password") ?? "";
|
var password = _config.GetValue<string>("Database:Password") ?? "";
|
||||||
var databases = _config.GetSection("Database:Databases").Get<string[]>() ?? ["my_database"];
|
|
||||||
|
// 支持两种格式:
|
||||||
|
// 1. 数组格式(appsettings.json): ["db1", "db2"]
|
||||||
|
// 2. 逗号分隔格式(环境变量): "db1,db2"
|
||||||
|
var databases = _config.GetSection("Database:Databases").Get<string[]>();
|
||||||
|
if (databases == null || databases.Length == 0)
|
||||||
|
{
|
||||||
|
// 尝试读取逗号分隔的字符串
|
||||||
|
var databasesStr = _config.GetValue<string>("Database:Databases");
|
||||||
|
databases = string.IsNullOrWhiteSpace(databasesStr)
|
||||||
|
? ["my_database"]
|
||||||
|
: databasesStr.Split(',', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries);
|
||||||
|
}
|
||||||
|
|
||||||
var timestamp = DateTime.Now.ToString("yyyyMMddHHmmss");
|
var timestamp = DateTime.Now.ToString("yyyyMMddHHmmss");
|
||||||
var dumpDir = $"/data/dumps/dump-{timestamp}";
|
var dumpDir = $"/data/dumps/dump-{timestamp}";
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,5 @@ RUN dotnet publish "./SQLBackupToCOS.csproj" -c $BUILD_CONFIGURATION -o /app/pub
|
||||||
FROM base AS final
|
FROM base AS final
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
ENV TZ="Asia/Shanghai"
|
ENV TZ="Asia/Shanghai"
|
||||||
RUN apt update && apt install -y mysql-client && mkdir /data && chmod 777 /data
|
|
||||||
COPY --from=publish /app/publish .
|
COPY --from=publish /app/publish .
|
||||||
ENTRYPOINT ["dotnet", "SQLBackupToCOS.dll"]
|
ENTRYPOINT ["dotnet", "SQLBackupToCOS.dll"]
|
||||||
|
|
@ -4,3 +4,13 @@ services:
|
||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: SQLBackupToCOS/Dockerfile
|
dockerfile: SQLBackupToCOS/Dockerfile
|
||||||
|
environment:
|
||||||
|
Database__Host: SQLHOST
|
||||||
|
Database__User: SQLUSER
|
||||||
|
Database__Password: StrongPassword!
|
||||||
|
Database__Databases: DB1,DB2
|
||||||
|
COS__BucketName: BUCKETNAME
|
||||||
|
COS__Region: BUCKETREGION
|
||||||
|
COS__SecretId: SECRETID
|
||||||
|
COS__SecretKey: SECRETKEY
|
||||||
|
COS__FilePath: PATH
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue