ani*_*lca 3 docker .net-core angular
我使用dotnet cli角度模板创建了一个Web应用程序。
dotnet new anguar Web
Run Code Online (Sandbox Code Playgroud)
现在,我想对这个应用程序进行dockerize。我将以下Dockerfile添加到项目文件夹中。
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build-env
WORKDIR /app
# Copy csproj and restore as distinct layers
COPY *.csproj ./
RUN dotnet restore
# Copy everything else and build
COPY . ./
RUN dotnet publish -c Release -o out
# Build runtime image
FROM mcr.microsoft.com/dotnet/core/aspnet:2.2
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "Web.dll"]
Run Code Online (Sandbox Code Playgroud)
然后,当我在项目文件夹中时,运行以下命令。
sudo docker build -t accman-web .
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
/app/Web.csproj的恢复在5.01秒内完成。Web-> /app/bin/Release/netcoreapp2.2/Web.dll Web-> /app/bin/Release/netcoreapp2.2/Web.Views.dll / bin / sh:2:/tmp/tmpa49d981806144cfd8e2cbdde42404952.exec。 cmd:npm:找不到/app/Web.csproj(46,5):错误MSB3073:命令“ npm install”退出,代码为127。命令'/ bin / sh -c dotnet publish -c Release -o out'返回非零代码:1
我需要做什么来构建这个简单应用程序的映像?
您需要Angular的nodejs和npm,这似乎丢失了。将此添加到您的Dockerfile中以在容器中安装nodejs和npm:
RUN apt-get update && \
apt-get install -y wget && \
apt-get install -y gnupg2 && \
wget -qO- https://deb.nodesource.com/setup_6.x | bash - && \
apt-get install -y build-essential nodejs
Run Code Online (Sandbox Code Playgroud)
请参见本博客文章了解更多详情
| 归档时间: |
|
| 查看次数: |
61 次 |
| 最近记录: |