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
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"]
所以我不确定这里需要什么信息,但我会尽力而为,我已经在 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
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:
得到了一个 idpi@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"]