我尝试用docker构建映像以运行项目,但是当我运行docker build时,执行步骤5/12:
/ bin / sh:1:dotnet:找不到 命令“ / bin / sh -c dotnet restore”返回非零代码:127
注意:我正在运行.Net Core和Node Modules,所以我都将它们放在Dockerfile中,可以吗?我是Docker的新手
这是我的dockerfile:
# Otenemos el SDK de .Net Core en la versión 2.1
FROM microsoft/dotnet:2.1-sdk
FROM node:11
WORKDIR /FrontEnd
#Copiamos el archivo .csproj y restauramos paquetes.
COPY *.csproj ./
RUN dotnet restore
COPY package.json ./
RUN npm install
# Copiamos todo lo demás
COPY . ./
FROM microsoft/dotnet:2.1-aspnetcore-runtime
WORKDIR /FrontEnd
ENTRYPOINT [ "dotnet", "run" ]
编辑
这是我的新Dockerfile 似乎可以在控制台中使用,但不能在Chrome中使用。
这是我在控制台中运行的命令: docker运行--rm name_proj:latest
FROM microsoft/dotnet:2.1-sdk AS build
WORKDIR /FrontEnd
COPY *.csproj ./
COPY package.json ./
RUN dotnet restore
RUN apt-get update -yq && apt-get upgrade -yq && apt-get install -yq curl git nano
RUN curl -sL https://deb.nodesource.com/setup_11.x | bash - && apt-get install -yq nodejs build-essential
RUN npm install -g npm
RUN npm install
COPY . ./
#FROM microsoft/dotnet:2.1-aspnetcore-runtime
ENTRYPOINT [ "dotnet", "run" ]
当我打开localhost:5001时
答案 0 :(得分:0)
您只能通过FROM
从一个容器继承。每次使用FROM
时,您都将切换为使用新容器作为基础。
FROM microsoft/dotnet:2.1-sdk
FROM node:11
效果与
相同FROM node:11
在node
容器中,没有安装.NET Core。
如果要使用dotnet
和npm
命令都可用的容器,则需要自己构建它。这是有关stackoverflow的答案,向您显示了如何执行此操作:How to integrate 'npm install' into ASP.NET CORE 2.1 Docker build。简短的版本是从一个容器(可能是FROM microsoft/dotnet:2.1-sdk
)开始,然后手动将node
软件包安装到其中。