【发布时间】: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