Asp.Net-核心 Docker 容器不是 运行 raspberry pi

Asp.Net-core Docker container not running on raspberry pi

所以我不确定这里需要什么信息,但我会尽力而为,我已经在 dotnet-core 中建立了一个 运行s 的小网站,更具体地说是 dotnet-核心 2.0:<TargetFramework>netcoreapp2.0</TargetFramework>.

我已经在 raspberry pi 上安装了 docker:

pi@swarm-1:~ $ docker --version
Docker version 18.01.0-ce, build 03596f5

我也通过本指南成功地在那里安装了 dot net core 2.0

https://jeremylindsayni.wordpress.com/2017/07/23/running-a-net-core-2-app-on-raspbian-jessie-and-deploying-to-the-pi-with-cake/


pi@swarm-1:~ $ dotnet --info
Microsoft .NET Core Shared Framework Host
Version : 2.0.4
Build : 7f262f453d8c8479b9af91d34c013b3aa05bc1ff`

我已将 docker 图片下载到我的 pi 上:

pi@swarm-1:~ $ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
joro550/radiusnet latest d579944265b0 16 hours ago 349MB

当我 运行 docker 运行 命令时,我确实从 docker:

得到了一个 id

pi@swarm-1:~ $ docker run -d -p 8080:80 joro550/radiusnet
d5c579332abef8cf1938ef7a88aea43e3e84380099e44e2adee7fca196a49de9

但是当我用 ps 列出我的 运行ning 容器时,我得到一个空列表:

pi@swarm-1:~ $ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
pi@swarm-1:~ $

我试过 运行 docker ps -a:

docker文件的内容,如果这对任何人都有用:

FROM microsoft/aspnetcore-build:2.0 AS build-env
WORKDIR /app

# copy csproj and restore as distinct layers
COPY /src ./
RUN dotnet restore

# copy everything else and build
COPY . ./
RUN dotnet publish -c Release -o out

# build runtime image
FROM microsoft/aspnetcore:2.0
WORKDIR /app
COPY --from=build-env /app/src/RadiusNet.Web/out .
ENTRYPOINT ["dotnet", "RadiusNet.Web.dll"]`

有趣的是当我 运行 dotnet *.dll

我收到错误消息:

pi@swarm-1:~ $ dotnet helloworld.dll
Did you mean to run dotnet SDK commands? Please install dotnet SDK from: http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409

按照有关 dotnet-core 安装的 Debian 指南给我这个:

如果有什么遗漏请告诉我

经过一些研究和大量试验和错误后,我认为这是我的 docker 文件的问题,更新了下面的 docker 文件:

FROM microsoft/aspnetcore-build:2.0 AS build-env
WORKDIR /app

# copy csproj and restore as distinct layers
COPY /src ./
RUN dotnet restore

# copy everything else and build
COPY . ./
RUN dotnet publish -c Release -o out -r linux-arm

# build runtime image
FROM microsoft/dotnet:2.0.0-runtime-stretch-arm32v7
WORKDIR /app
COPY --from=build-env /app/src/RadiusNet.Web/out .
ENTRYPOINT ["dotnet", "RadiusNet.Web.dll"]