diff --git a/server/HoneyBox/.dockerignore b/server/HoneyBox/.dockerignore
new file mode 100644
index 00000000..fe1152bd
--- /dev/null
+++ b/server/HoneyBox/.dockerignore
@@ -0,0 +1,30 @@
+**/.classpath
+**/.dockerignore
+**/.env
+**/.git
+**/.gitignore
+**/.project
+**/.settings
+**/.toolstarget
+**/.vs
+**/.vscode
+**/*.*proj.user
+**/*.dbmdl
+**/*.jfm
+**/azds.yaml
+**/bin
+**/charts
+**/docker-compose*
+**/Dockerfile*
+**/node_modules
+**/npm-debug.log
+**/obj
+**/secrets.dev.yaml
+**/values.dev.yaml
+LICENSE
+README.md
+!**/.gitignore
+!.git/HEAD
+!.git/config
+!.git/packed-refs
+!.git/refs/heads/**
\ No newline at end of file
diff --git a/server/HoneyBox/src/HoneyBox.Admin/Dockerfile b/server/HoneyBox/src/HoneyBox.Admin/Dockerfile
new file mode 100644
index 00000000..ddb2bffe
--- /dev/null
+++ b/server/HoneyBox/src/HoneyBox.Admin/Dockerfile
@@ -0,0 +1,34 @@
+# 请参阅 https://aka.ms/customizecontainer 以了解如何自定义调试容器,以及 Visual Studio 如何使用此 Dockerfile 生成映像以更快地进行调试。
+
+# 此阶段用于在快速模式(默认为调试配置)下从 VS 运行时
+FROM mcr.microsoft.com/dotnet/aspnet:10.0-noble AS base
+USER $APP_UID
+WORKDIR /app
+EXPOSE 8080
+EXPOSE 8081
+
+
+# 此阶段用于生成服务项目
+FROM mcr.microsoft.com/dotnet/sdk:10.0-noble AS build
+ARG BUILD_CONFIGURATION=Release
+WORKDIR /src
+COPY ["src/HoneyBox.Admin/HoneyBox.Admin.csproj", "src/HoneyBox.Admin/"]
+COPY ["src/HoneyBox.Admin.Business/HoneyBox.Admin.Business.csproj", "src/HoneyBox.Admin.Business/"]
+COPY ["src/HoneyBox.Model/HoneyBox.Model.csproj", "src/HoneyBox.Model/"]
+COPY ["src/HoneyBox.Core/HoneyBox.Core.csproj", "src/HoneyBox.Core/"]
+COPY ["src/HoneyBox.Infrastructure/HoneyBox.Infrastructure.csproj", "src/HoneyBox.Infrastructure/"]
+RUN dotnet restore "./src/HoneyBox.Admin/HoneyBox.Admin.csproj"
+COPY . .
+WORKDIR "/src/src/HoneyBox.Admin"
+RUN dotnet build "./HoneyBox.Admin.csproj" -c $BUILD_CONFIGURATION -o /app/build
+
+# 此阶段用于发布要复制到最终阶段的服务项目
+FROM build AS publish
+ARG BUILD_CONFIGURATION=Release
+RUN dotnet publish "./HoneyBox.Admin.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
+
+# 此阶段在生产中使用,或在常规模式下从 VS 运行时使用(在不使用调试配置时为默认值)
+FROM base AS final
+WORKDIR /app
+COPY --from=publish /app/publish .
+ENTRYPOINT ["dotnet", "HoneyBox.Admin.dll"]
\ No newline at end of file
diff --git a/server/HoneyBox/src/HoneyBox.Admin/HoneyBox.Admin.csproj b/server/HoneyBox/src/HoneyBox.Admin/HoneyBox.Admin.csproj
index cf8b767a..3b430edf 100644
--- a/server/HoneyBox/src/HoneyBox.Admin/HoneyBox.Admin.csproj
+++ b/server/HoneyBox/src/HoneyBox.Admin/HoneyBox.Admin.csproj
@@ -6,6 +6,9 @@
enable
true
$(NoWarn);1591
+ afd60d1a-3d02-4903-a2e4-fe51437b5c41
+ Linux
+ ..\..
@@ -27,6 +30,7 @@
+
diff --git a/server/HoneyBox/src/HoneyBox.Admin/Properties/launchSettings.json b/server/HoneyBox/src/HoneyBox.Admin/Properties/launchSettings.json
index ff8c12f3..fa81faee 100644
--- a/server/HoneyBox/src/HoneyBox.Admin/Properties/launchSettings.json
+++ b/server/HoneyBox/src/HoneyBox.Admin/Properties/launchSettings.json
@@ -7,6 +7,17 @@
"ASPNETCORE_ENVIRONMENT": "Development"
},
"applicationUrl": "https://localhost:61550;http://localhost:61551"
+ },
+ "Container (Dockerfile)": {
+ "commandName": "Docker",
+ "launchBrowser": true,
+ "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}",
+ "environmentVariables": {
+ "ASPNETCORE_HTTPS_PORTS": "8081",
+ "ASPNETCORE_HTTP_PORTS": "8080"
+ },
+ "publishAllPorts": true,
+ "useSSL": true
}
}
}
\ No newline at end of file
diff --git a/server/HoneyBox/src/HoneyBox.Api/Dockerfile b/server/HoneyBox/src/HoneyBox.Api/Dockerfile
new file mode 100644
index 00000000..43a639d5
--- /dev/null
+++ b/server/HoneyBox/src/HoneyBox.Api/Dockerfile
@@ -0,0 +1,32 @@
+# 请参阅 https://aka.ms/customizecontainer 以了解如何自定义调试容器,以及 Visual Studio 如何使用此 Dockerfile 生成映像以更快地进行调试。
+
+# 此阶段用于在快速模式(默认为调试配置)下从 VS 运行时
+FROM mcr.microsoft.com/dotnet/aspnet:10.0-noble AS base
+USER $APP_UID
+WORKDIR /app
+EXPOSE 8080
+
+
+# 此阶段用于生成服务项目
+FROM mcr.microsoft.com/dotnet/sdk:10.0-noble AS build
+ARG BUILD_CONFIGURATION=Release
+WORKDIR /src
+COPY ["src/HoneyBox.Api/HoneyBox.Api.csproj", "src/HoneyBox.Api/"]
+COPY ["src/HoneyBox.Model/HoneyBox.Model.csproj", "src/HoneyBox.Model/"]
+COPY ["src/HoneyBox.Core/HoneyBox.Core.csproj", "src/HoneyBox.Core/"]
+COPY ["src/HoneyBox.Infrastructure/HoneyBox.Infrastructure.csproj", "src/HoneyBox.Infrastructure/"]
+RUN dotnet restore "./src/HoneyBox.Api/HoneyBox.Api.csproj"
+COPY . .
+WORKDIR "/src/src/HoneyBox.Api"
+RUN dotnet build "./HoneyBox.Api.csproj" -c $BUILD_CONFIGURATION -o /app/build
+
+# 此阶段用于发布要复制到最终阶段的服务项目
+FROM build AS publish
+ARG BUILD_CONFIGURATION=Release
+RUN dotnet publish "./HoneyBox.Api.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
+
+# 此阶段在生产中使用,或在常规模式下从 VS 运行时使用(在不使用调试配置时为默认值)
+FROM base AS final
+WORKDIR /app
+COPY --from=publish /app/publish .
+ENTRYPOINT ["dotnet", "HoneyBox.Api.dll"]
\ No newline at end of file
diff --git a/server/HoneyBox/src/HoneyBox.Api/HoneyBox.Api.csproj b/server/HoneyBox/src/HoneyBox.Api/HoneyBox.Api.csproj
index 2d5f90e1..9d149890 100644
--- a/server/HoneyBox/src/HoneyBox.Api/HoneyBox.Api.csproj
+++ b/server/HoneyBox/src/HoneyBox.Api/HoneyBox.Api.csproj
@@ -6,12 +6,15 @@
enable
true
$(NoWarn);1591
+ Linux
+ ..\..
+
diff --git a/server/HoneyBox/src/HoneyBox.Api/Properties/launchSettings.json b/server/HoneyBox/src/HoneyBox.Api/Properties/launchSettings.json
index 3db0cce1..0d69c65b 100644
--- a/server/HoneyBox/src/HoneyBox.Api/Properties/launchSettings.json
+++ b/server/HoneyBox/src/HoneyBox.Api/Properties/launchSettings.json
@@ -1,14 +1,22 @@
-{
- "$schema": "https://json.schemastore.org/launchsettings.json",
+{
"profiles": {
"http": {
"commandName": "Project",
- "dotnetRunMessages": true,
- "launchBrowser": false,
- "applicationUrl": "http://localhost:5238",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
- }
+ },
+ "dotnetRunMessages": true,
+ "applicationUrl": "http://localhost:5238"
+ },
+ "Container (Dockerfile)": {
+ "commandName": "Docker",
+ "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}",
+ "environmentVariables": {
+ "ASPNETCORE_HTTP_PORTS": "8080"
+ },
+ "publishAllPorts": true,
+ "useSSL": false
}
- }
-}
+ },
+ "$schema": "https://json.schemastore.org/launchsettings.json"
+}
\ No newline at end of file