相关疑难解决方法(0)

asp.net core 2.0 - 多个项目解决方案docker文件

[asp.net核心2.0和linux的docker]

我是docker的新手,并试图找出如何在我有2个项目的解决方案的情况下使用docker.我见过的所有教程都展示了单个项目.

所以,如果有人能够逐步展示解决方案,我会非常感激.

我有一个解决方案结构,如:

Solution.sln
|______WebAPIProject.csproj
|______ClassLibraryProject.csproj
Run Code Online (Sandbox Code Playgroud)

在Visual Studio中,我已经为解决方案添加了docker支持并获得了这些文件:

在WebAPIProject下,它创建了这个Docker文件:

FROM microsoft/aspnetcore:2.0
ARG source
WORKDIR /app
EXPOSE 80
COPY ${source:-obj/Docker/publish} .
ENTRYPOINT ["dotnet", "WebAPIProject.dll"]
Run Code Online (Sandbox Code Playgroud)

然后,在单独的docker-compose'项目'下,我得到了:

泊坞窗,compose.ci.build.yml

version: '3'

services:
  ci-build:
    image: microsoft/aspnetcore-build:1.0-2.0
    volumes:
      - .:/src
    working_dir: /src
    command: /bin/bash -c "dotnet restore ./Solution.sln && dotnet publish ./Solution.sln -c Release -o ./obj/Docker/publish"
Run Code Online (Sandbox Code Playgroud)

docker.compose.yml文件

version: '3'

services:
  WebAPIProject:
    image: WebAPIProject
    build:
      context: ./WebAPIProject
      dockerfile: Dockerfile
Run Code Online (Sandbox Code Playgroud)

我确信它的路径是微不足道的,但我只是迷失了所有这一切,所以如果有人能够对它有所了解?

docker asp.net-core

27
推荐指数
4
解决办法
1万
查看次数

如何让 Docker 在构建时找到引用的项目?

我应该如何在项目文件中引用项目以便 Docker build 找到项目?

项目文件

<ItemGroup>
    <ProjectReference Include="..\Assets.Core\Assets.Core.csproj" />
    <ProjectReference Include="..\Creator.Components\Creator.Components.csproj" />
    <ProjectReference Include="..\LC.Components.Core\LC.Components.Core.csproj" />
    <ProjectReference Include="..\LC.Components\LC.Components.csproj" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

Dockerfile

FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env
WORKDIR /app
EXPOSE 80
EXPOSE 443

COPY *.csproj ./
RUN dotnet restore

COPY . ./
RUN dotnet publish -c Release -o out

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
WORKDIR /DIRPATH
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "Creator.Demo.dll"]
Run Code Online (Sandbox Code Playgroud)

输出

正在确定要恢复的项目...正在跳过项目“C:\Assets.Core\Assets.Core.csproj”,因为找不到该项目。
正在跳过项目“C:\Creator.Components\Creator.Components.csproj”,因为找不到它。正在跳过项目“C:\LC.Components.Core\LC.Components.Core.csproj”,因为找不到它。正在跳过项目“C:\LC.Components\LC.Components.csproj”,因为找不到它。正在跳过项目“C:\Assets.Core\Assets.Core.csproj”,因为找不到它。
正在跳过项目“C:\Creator.Components\Creator.Components.csproj”,因为找不到它。正在跳过项目“C:\LC.Components.Core\LC.Components.Core.csproj”,因为找不到它。正在跳过项目“C:\LC.Components\LC.Components.csproj”,因为找不到它。恢复 C:\app\creator.demo.csproj(282 毫秒内)。

project docker dockerhub dockerfile asp.net-core

6
推荐指数
1
解决办法
5920
查看次数

标签 统计

asp.net-core ×2

docker ×2

dockerfile ×1

dockerhub ×1

project ×1