【问题标题】:Visual Studio for Mac & .NET Core Web API with DockerVisual Studio for Mac 和 .NET Core Web API 与 Docker
【发布时间】:2018-03-13 19:13:10
【问题描述】:

我刚买了一台 MacBook Pro,正在尝试运行我在 Windows PC 上创建的 dotnet core web api 项目。我也在学习如何使用 Docker 并尝试将其集成到我的项目中。

当我右键单击我的 API 项目并点击 Add > Docker Support 时,会生成一个 docker-compose 项目和相应的 .yml 文件,并将一个 Dockerfile 添加到我的 Api 项目中。

这是 .yml 文件的样子:

version: '3.4'

services:
  api:
    image: api
    build:
      context: .
      dockerfile: Api/Dockerfile

这是生成的 Dockerfile:

FROM microsoft/aspnetcore:2.0 AS base
WORKDIR /app
EXPOSE 80

FROM microsoft/aspnetcore-build:2.0 AS build
WORKDIR /src
COPY AdamWebsiteApi.sln ./
COPY Api/Api.csproj Api/
RUN dotnet restore -nowarn:msb3202,nu1503
COPY . .
WORKDIR /src/Api
RUN dotnet build -c Release -o /app

FROM build AS publish
RUN dotnet publish -c Release -o /app

FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "Api.dll"]

当我使用 docker-compose 项目作为启动运行解决方案时,我收到以下错误:

Cannot start service api: Mounts denied: 
The path /usr/local/share/dotnet/sdk/NuGetFallbackFolder
is not shared from OS X and is not known to Docker.
You can configure shared paths from Docker -> Preferences... -> File Sharing.
See https://docs.docker.com/docker-for-mac/osxfs/#namespaces for more info.

知道我需要做什么才能使其正常工作吗?这可能非常简单明了,但我对 Docker 和 Mac 很陌生,所以我不确定自己在做什么。

【问题讨论】:

  • 我不是在 Mac 上,但我在 Windows 10 上看到过类似的错误。听起来您需要进入 Docker 首选项并启用错误中请求的共享路径。跨度>

标签: docker asp.net-core docker-compose dockerfile visual-studio-mac


【解决方案1】:

将文件夹 /usr/local/share/dotnet/sdk/NuGetFallbackFolder 添加到 Docker 首选项中的文件共享列表中。它会起作用的。

【讨论】:

    猜你喜欢
    • 2021-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-04
    • 1970-01-01
    • 2019-02-28
    • 2022-08-22
    相关资源
    最近更新 更多