我做的网站平台百度搜不到,个人可以建设网站吗,营销qq手机版,网站开发需要那些技能本文模拟一个比较完整的项目#xff0c;包括前端(MVC), 后端(WebApi)和数据库(mssql-server-linux)。通过Docker Compose 定义#xff0c;组合并执行它们。涉及到 Docker Compose 安装#xff0c;命令#xff0c;docker-compose.yml文件编写#xff0c;WebApi 和 MVC 项目… 本文模拟一个比较完整的项目包括前端(MVC), 后端(WebApi)和数据库(mssql-server-linux)。通过Docker Compose 定义组合并执行它们。涉及到 Docker Compose 安装命令docker-compose.yml文件编写WebApi 和 MVC 项目编写Dockfile编写等Docker Compose简介Docker Compose是Docker三剑客之一用于定义和运行多个Docker容器应用负责实现对 Docker 容器集群的快速编排。我们可以通过Dockerfile定义一个单独的应用容器。然而在日常工作中经常会碰到需要多个容器相互配合来完成某项任务的情况。例如要实现一个 Web 项目除了 Web 服务容器本身往往还需要再加上后端的数据库服务容器等。Compose 恰好满足了这样的需求。它允许用户通过一个单独的 docker-compose.yml 配置板文件YAML 格式来定义一组相关联的应用容器。然后使用使用单个命令就可以根据配置中创建并启动所有服务。安装curl 下载 Docker Composesudo curl -L https://github.com/docker/compose/releases/download/{{site.compose_version}}/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose替换{{site.compose_version}}为最新的版本号赋执行权限sudo chmod x /usr/local/bin/docker-compose测试是否安装成功docker-compose --versionWebApi 项目创建项目参考微软示例Create a Web API 创建一个基于 net core 2.1的WebApi项目命名为Todo.Api. 参照示例添加 model 和 database context。在 ConfigureServices 里注册 database context.services.AddDbContextTodoContext(options options.UseSqlServer(Configuration[ConnectionString]));参考微软示例Work with SQL Server LocalDB 添加 Seed 类并在Program.cs里面添加 seed initializer等。只需要运行Add-Migration命令生成迁移。无需执行Update-Database命令因为程序运行起来时候会通过context.Database.Migrate()来执行迁移。编写DockfileFROM microsoft/dotnet:2.1-aspnetcore-runtimeWORKDIR /appEXPOSE 80/tcpENTRYPOINT [dotnet, Todo.Api.dll]Web MVC 项目创建项目创建一个基于 net core 2.1的Web MVC项目命名为webMVC.添加 Service 去调用 WebApi 开放的接口。编写DockfileFROM microsoft/dotnet:2.1-aspnetcore-runtimeWORKDIR /appEXPOSE 80/tcpENTRYPOINT [dotnet, WebMVC.dll]编写 docker-compose.yml文件image: 指定镜像或构建生成镜像的名字build构建生成镜像。context 指令指定 Dockerfile 所在文件夹的路径dockerfile 指令指定 Dockerfile 文件名environment设置环境变量ports暴露端口信息。使用宿主端口容器端口 (HOST:CONTAINER) 格式volumes数据卷所挂载路径设置。可以设置宿主机路径 HOST:CONTAINERcontainer_name指定容器名称。默认将会使用 项目名称_服务名称_序号 这样的格式depends_on解决容器的依赖、启动先后的问题详细请参考 Compose file version 3 reference运行项目在docker-compose.yml文件通目录下执行docker-compose build构建项目中的服务容器.docker-compose build通过 docker-compose up 创建关联并启动服务.docker-compose up-d 在后台运行服务容器。--scale SERVICENUM 创建服务的N个实例。详细请参考 Compose (docker-compose) CLI reference源代码github参考compose gitHubQuickstart: Compose and ASP.NET Core with SQL ServerGet Started Building Microservices with ASP.NET Core and Docker in Visual Studio CodeDocker Compose 项目