feat: 新增docker支持
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -263,6 +263,7 @@ src/Acme.BookStore.Blazor.Server.Tiered/Logs/*
|
|||||||
|
|
||||||
# Use abp install-libs to restore.
|
# Use abp install-libs to restore.
|
||||||
**/wwwroot/libs/*
|
**/wwwroot/libs/*
|
||||||
|
public
|
||||||
dist
|
dist
|
||||||
.vscode
|
.vscode
|
||||||
/Yi.Abp.Net8/src/Yi.Abp.Web/appsettings.Development.json
|
/Yi.Abp.Net8/src/Yi.Abp.Web/appsettings.Development.json
|
||||||
|
|||||||
@@ -27,4 +27,7 @@ README.md
|
|||||||
!.git/HEAD
|
!.git/HEAD
|
||||||
!.git/config
|
!.git/config
|
||||||
!.git/packed-refs
|
!.git/packed-refs
|
||||||
!.git/refs/heads/**
|
!.git/refs/heads/**
|
||||||
|
appsettings.Development.json
|
||||||
|
appsettings.Production.json
|
||||||
|
appsettings.Staging.json
|
||||||
22
Yi.Abp.Net8/Docker-Readme.md
Normal file
22
Yi.Abp.Net8/Docker-Readme.md
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
# Docker 构建说明
|
||||||
|
|
||||||
|
## 后端
|
||||||
|
执行目录:Yi\Yi.Abp.Net8
|
||||||
|
|
||||||
|
#### 完整代码编译
|
||||||
|
docker build -t yi.admin:x.x.x -f Dockerfile .
|
||||||
|
|
||||||
|
#### 快速产物编译
|
||||||
|
docker build -t yi.admin:x.x.x -f DockerfileFast .
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## 前端(待完善)
|
||||||
|
执行目录:Yi\Yi.Bbs.Vue3
|
||||||
|
|
||||||
|
#### 完整代码编译
|
||||||
|
docker build -t yi.bbs:x.x.x -f Dockerfile .
|
||||||
|
|
||||||
|
#### 快速产物编译
|
||||||
|
docker build -t yi.bbs:x.x.x -f DockerfileFast .
|
||||||
22
Yi.Abp.Net8/Dockerfile
Normal file
22
Yi.Abp.Net8/Dockerfile
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
|
||||||
|
USER root
|
||||||
|
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
|
||||||
|
RUN echo "Asia/Shanghai" > /etc/timezone
|
||||||
|
WORKDIR /app
|
||||||
|
EXPOSE 19001
|
||||||
|
|
||||||
|
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
|
||||||
|
ARG BUILD_CONFIGURATION=Release
|
||||||
|
WORKDIR /main
|
||||||
|
COPY . .
|
||||||
|
WORKDIR "/main/src/Yi.Abp.Web"
|
||||||
|
RUN dotnet restore "Yi.Abp.Web.csproj"
|
||||||
|
|
||||||
|
FROM build AS publish
|
||||||
|
WORKDIR "/main/src/Yi.Abp.Web"
|
||||||
|
RUN dotnet publish "Yi.Abp.Web.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
|
||||||
|
|
||||||
|
FROM base AS final
|
||||||
|
WORKDIR /app
|
||||||
|
COPY --from=publish /app/publish .
|
||||||
|
ENTRYPOINT ["dotnet", "Yi.Abp.Web.dll"]
|
||||||
11
Yi.Abp.Net8/DockerfileFast
Normal file
11
Yi.Abp.Net8/DockerfileFast
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
|
||||||
|
USER root
|
||||||
|
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
|
||||||
|
RUN echo "Asia/Shanghai" > /etc/timezone
|
||||||
|
WORKDIR /app
|
||||||
|
EXPOSE 19001
|
||||||
|
|
||||||
|
FROM base AS final
|
||||||
|
WORKDIR /app
|
||||||
|
COPY ["./publish","."]
|
||||||
|
ENTRYPOINT ["dotnet", "Yi.Abp.Web.dll"]
|
||||||
@@ -36,6 +36,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
|
|||||||
version.props = version.props
|
version.props = version.props
|
||||||
publish.bat = publish.bat
|
publish.bat = publish.bat
|
||||||
publish_Demo.bat = publish_Demo.bat
|
publish_Demo.bat = publish_Demo.bat
|
||||||
|
Dockerfile = Dockerfile
|
||||||
|
DockerfileFast = DockerfileFast
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.SqlSugarCore.Abstractions", "framework\Yi.Framework.SqlSugarCore.Abstractions\Yi.Framework.SqlSugarCore.Abstractions.csproj", "{FD6D6860-3753-4747-8A26-977E4A3001F9}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.SqlSugarCore.Abstractions", "framework\Yi.Framework.SqlSugarCore.Abstractions\Yi.Framework.SqlSugarCore.Abstractions.csproj", "{FD6D6860-3753-4747-8A26-977E4A3001F9}"
|
||||||
|
|||||||
@@ -1,49 +0,0 @@
|
|||||||
#See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging.
|
|
||||||
|
|
||||||
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
|
|
||||||
USER app
|
|
||||||
WORKDIR /app
|
|
||||||
EXPOSE 8080
|
|
||||||
|
|
||||||
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
|
|
||||||
ARG BUILD_CONFIGURATION=Release
|
|
||||||
WORKDIR /src
|
|
||||||
|
|
||||||
COPY ./common.props ./
|
|
||||||
COPY ["src/Yi.Abp.Web/Yi.Abp.Web.csproj", "src/Yi.Abp.Web/"]
|
|
||||||
COPY ["framework/Yi.Framework.AspNetCore.Authentication.OAuth/Yi.Framework.AspNetCore.Authentication.OAuth.csproj", "framework/Yi.Framework.AspNetCore.Authentication.OAuth/"]
|
|
||||||
COPY ["framework/Yi.Framework.AspNetCore/Yi.Framework.AspNetCore.csproj", "framework/Yi.Framework.AspNetCore/"]
|
|
||||||
COPY ["framework/Yi.Framework.Core/Yi.Framework.Core.csproj", "framework/Yi.Framework.Core/"]
|
|
||||||
COPY ["src/Yi.Abp.Application/Yi.Abp.Application.csproj", "src/Yi.Abp.Application/"]
|
|
||||||
COPY ["framework/Yi.Framework.Ddd.Application/Yi.Framework.Ddd.Application.csproj", "framework/Yi.Framework.Ddd.Application/"]
|
|
||||||
COPY ["framework/Yi.Framework.Ddd.Application.Contracts/Yi.Framework.Ddd.Application.Contracts.csproj", "framework/Yi.Framework.Ddd.Application.Contracts/"]
|
|
||||||
COPY ["module/bbs/Yi.Framework.Bbs.Application/Yi.Framework.Bbs.Application.csproj", "module/bbs/Yi.Framework.Bbs.Application/"]
|
|
||||||
COPY ["module/rbac/Yi.Framework.Rbac.Application/Yi.Framework.Rbac.Application.csproj", "module/rbac/Yi.Framework.Rbac.Application/"]
|
|
||||||
COPY ["module/rbac/Yi.Framework.Rbac.Application.Contracts/Yi.Framework.Rbac.Application.Contracts.csproj", "module/rbac/Yi.Framework.Rbac.Application.Contracts/"]
|
|
||||||
COPY ["module/rbac/Yi.Framework.Rbac.Domain.Shared/Yi.Framework.Rbac.Domain.Shared.csproj", "module/rbac/Yi.Framework.Rbac.Domain.Shared/"]
|
|
||||||
COPY ["framework/Yi.Framework.Mapster/Yi.Framework.Mapster.csproj", "framework/Yi.Framework.Mapster/"]
|
|
||||||
COPY ["framework/Yi.Framework.SqlSugarCore.Abstractions/Yi.Framework.SqlSugarCore.Abstractions.csproj", "framework/Yi.Framework.SqlSugarCore.Abstractions/"]
|
|
||||||
COPY ["module/rbac/Yi.Framework.Rbac.Domain/Yi.Framework.Rbac.Domain.csproj", "module/rbac/Yi.Framework.Rbac.Domain/"]
|
|
||||||
COPY ["module/bbs/Yi.Framework.Bbs.Application.Contracts/Yi.Framework.Bbs.Application.Contracts.csproj", "module/bbs/Yi.Framework.Bbs.Application.Contracts/"]
|
|
||||||
COPY ["module/bbs/Yi.Framework.Bbs.Domain.Shared/Yi.Framework.Bbs.Domain.Shared.csproj", "module/bbs/Yi.Framework.Bbs.Domain.Shared/"]
|
|
||||||
COPY ["module/bbs/Yi.Framework.Bbs.Domain/Yi.Framework.Bbs.Domain.csproj", "module/bbs/Yi.Framework.Bbs.Domain/"]
|
|
||||||
COPY ["src/Yi.Abp.Application.Contracts/Yi.Abp.Application.Contracts.csproj", "src/Yi.Abp.Application.Contracts/"]
|
|
||||||
COPY ["src/Yi.Abp.Domain.Shared/Yi.Abp.Domain.Shared.csproj", "src/Yi.Abp.Domain.Shared/"]
|
|
||||||
COPY ["src/Yi.Abp.Domain/Yi.Abp.Domain.csproj", "src/Yi.Abp.Domain/"]
|
|
||||||
COPY ["src/Yi.Abp.SqlSugarCore/Yi.Abp.SqlSugarCore.csproj", "src/Yi.Abp.SqlSugarCore/"]
|
|
||||||
COPY ["framework/Yi.Framework.SqlSugarCore/Yi.Framework.SqlSugarCore.csproj", "framework/Yi.Framework.SqlSugarCore/"]
|
|
||||||
COPY ["module/bbs/Yi.Framework.Bbs.SqlSugarCore/Yi.Framework.Bbs.SqlSugarCore.csproj", "module/bbs/Yi.Framework.Bbs.SqlSugarCore/"]
|
|
||||||
COPY ["module/rbac/Yi.Framework.Rbac.SqlSugarCore/Yi.Framework.Rbac.SqlSugarCore.csproj", "module/rbac/Yi.Framework.Rbac.SqlSugarCore/"]
|
|
||||||
RUN dotnet restore "./src/Yi.Abp.Web/./Yi.Abp.Web.csproj"
|
|
||||||
COPY . .
|
|
||||||
WORKDIR "/src/src/Yi.Abp.Web"
|
|
||||||
RUN dotnet build "./Yi.Abp.Web.csproj" -c $BUILD_CONFIGURATION -o /app/build
|
|
||||||
|
|
||||||
FROM build AS publish
|
|
||||||
ARG BUILD_CONFIGURATION=Release
|
|
||||||
RUN dotnet publish "./Yi.Abp.Web.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
|
|
||||||
|
|
||||||
FROM base AS final
|
|
||||||
WORKDIR /app
|
|
||||||
COPY --from=publish /app/publish .
|
|
||||||
ENTRYPOINT ["dotnet", "Yi.Abp.Web.dll"]
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
# Docker 构建说明
|
|
||||||
|
|
||||||
## 执行命令
|
|
||||||
|
|
||||||
```shell
|
|
||||||
# 在Yi.Abp.Net8 目录下执行
|
|
||||||
docker build -t admin-server:${BUILD_NUMBER} -f ./src/Yi.Abp.Web/Dockerfile .
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
## 注意
|
|
||||||
|
|
||||||
NuGet 源国内访问有时候会报错,可以考虑切换成华为源,加上参数
|
|
||||||
|
|
||||||
```shell
|
|
||||||
RUN dotnet restore --source https://repo.huaweicloud.com/repository/nuget/v3/index.json "./src/Yi.Abp.Web/./Yi.Abp.Web.csproj"
|
|
||||||
|
|
||||||
RUN dotnet build --source https://repo.huaweicloud.com/repository/nuget/v3/index.json "./Yi.Abp.Web.csproj" -c $BUILD_CONFIGURATION -o /app/build
|
|
||||||
|
|
||||||
RUN dotnet publish --source https://repo.huaweicloud.com/repository/nuget/v3/index.json "./Yi.Abp.Web.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
|
|
||||||
|
|
||||||
```
|
|
||||||
14
Yi.Bbs.Vue3/Dockerfile
Normal file
14
Yi.Bbs.Vue3/Dockerfile
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
FROM nginx as base
|
||||||
|
COPY nginx.conf /etc/nginx/nginx.conf
|
||||||
|
EXPOSE 18001
|
||||||
|
|
||||||
|
FROM node:20.18 as publish
|
||||||
|
WORKDIR /main
|
||||||
|
COPY . .
|
||||||
|
RUN npm i
|
||||||
|
RUN npm run build
|
||||||
|
|
||||||
|
FROM base AS final
|
||||||
|
WORKDIR /app
|
||||||
|
COPY --from=publish /dist/* .
|
||||||
|
ENTRYPOINT ["nginx", "-g", "daemon off;"]
|
||||||
8
Yi.Bbs.Vue3/DockerfileFast
Normal file
8
Yi.Bbs.Vue3/DockerfileFast
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
FROM nginx as base
|
||||||
|
COPY nginx.conf /etc/nginx/nginx.conf
|
||||||
|
EXPOSE 18001
|
||||||
|
|
||||||
|
FROM base AS final
|
||||||
|
WORKDIR /app
|
||||||
|
COPY ["./dist/","."]
|
||||||
|
ENTRYPOINT ["nginx", "-g", "daemon off;"]
|
||||||
Reference in New Issue
Block a user