一、Orchard Core CMS
Orchard Core CMS是一个免费、开源的模块化内容管理系统,基于.NET Core技术栈开发。它提供了强大的扩展性和定制性,允许开发者创建灵活的网站和Web应用程序。Orchard Core提供了丰富的模块库,包括内容管理、身份验证(例如OIDC)、权限控制等功能,同时也支持第三方模块扩展。其模块化的架构使得开发者可以根据具体需求选择和集成功能,从而快速构建功能丰富、高效的Web应用。
二、安装 Orchard CMS 模板
官网有详细的介绍如何安装Orchard CMS 模板 Code Generation Templates - Orchard Core Documentation,生成模板后,代码的结构是这样的。
三、通过dockercompose部署项目
通过vscode的docker插件,我们可以快速生成文件,然后修改一下就可以用了。
编写我们的dockerfile和dockercompose文件
1.Dockerfile
FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base
WORKDIR /app
EXPOSE 80
FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build
WORKDIR /src
COPY ["orchardcorecms/orchardcorecms.csproj", "orchardcorecms/"]
RUN dotnet restore "orchardcorecms/orchardcorecms.csproj"
COPY . .
WORKDIR "/src/orchardcorecms"
RUN dotnet build "orchardcorecms.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "orchardcorecms.csproj" -c Release -o /app/publish /p:UseAppHost=false
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "orchardcorecms.dll"]
2.Docker-compose
App_Data是运行orchardcore自动生成的,会记录我们的一些身份信息,媒体数据等。
如果不想每次开一个容器,都要重新安装的话,就通过volumes挂载。
version: '3.4'
services:
orchardcorecms:
image: orchardcorecms
build:
context: .
dockerfile: orchardcorecms/Dockerfile
ports:
- 5050:80
volumes:
- ./orchardcorecms/App_Data:/app/App_Data
depends_on:
- postgres
networks:
- headless
postgres:
image: postgres:15
container_name: pgsql
restart: always
ports:
- 5432:5432
volumes:
- cms_pgsql_data:/var/lib/postgres/data
environment:
POSTGRES_DB: postgres
POSTGRES_USER: postgres
POSTGRES_PASSWORD: 123456
networks:
- headless
volumes:
cms_pgsql_data:
networks:
headless:
编译运行后,我们进入http://localhost:5050,会进入我们的一个安装界面,初始化为我们的信息,这些信息都会自动的加载到我们的App_Data上去。
安装完成后,输入我们刚刚的账号密码,就进入cms后台管理界面了。
代码我放在github上去了GitHub - dreamcanberealized/orchardcorecmsDemo: 容器部署orchardcorecms