Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide an ARM version of the container #223

Closed
sylveon opened this issue Mar 25, 2017 · 7 comments · Fixed by dotnet/dotnet-docker-nightly#328
Closed

Provide an ARM version of the container #223

sylveon opened this issue Mar 25, 2017 · 7 comments · Fixed by dotnet/dotnet-docker-nightly#328
Assignees

Comments

@sylveon
Copy link

sylveon commented Mar 25, 2017

Steps to reproduce the issue

  1. Try to run the container on a ARM device, such as a Raspberry Pi

Expected behavior

Offer me an ARM package somewhere I can use.

Actual behavior

The docker app will fail with the error standard_init_linux.go:178: exec user process caused "exec format error". That's expected since this is an x86 package and not an ARM package. It shouldn't be a problem to add a package since IIRC dotnet 1.1 introduces ARM support.

Additional information (e.g. issue happens only occasionally)

[admin@pi ~]$ docker run -it microsoft/dotnet:latest
Unable to find image 'microsoft/dotnet:latest' locally
latest: Pulling from microsoft/dotnet
6d827a3ef358: Pull complete
2726297beaf1: Pull complete
5f0ad24bb908: Pull complete
585a9e672fec: Pull complete
Digest: sha256:89d960ce0b16f8725bf0d0b6790ef09d8d639bb6dac9d29496b91a9b477ef59699.71 MB/129.5 MB
Status: Downloaded newer image for microsoft/dotnet:latest
standard_init_linux.go:178: exec user process caused "exec format error"

Output of docker version

Client:
 Version:      17.03.0-ce
 API version:  1.26
 Go version:   go1.8
 Git commit:   60ccb2265b
 Built:        Sun Mar  5 06:50:32 2017
 OS/Arch:      linux/arm

Server:
 Version:      17.03.0-ce
 API version:  1.26 (minimum version 1.12)
 Go version:   go1.8
 Git commit:   60ccb2265b
 Built:        Sun Mar  5 06:50:32 2017
 OS/Arch:      linux/arm
 Experimental: false

Output of docker info

Containers: 2
 Running: 0
 Paused: 0
 Stopped: 2
Images: 1
Server Version: 17.03.0-ce
Storage Driver: overlay2
 Backing Filesystem: extfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 977c511eda0925a723debdc94d09459af49d082a
runc version: a01dafd48bc1c7cc12bdb01206f9fea7dd6feb70
init version: 949e6fa
Security Options:
 seccomp
  Profile: default
Kernel Version: 4.9.17-1-ARCH
Operating System: Arch Linux ARM
OSType: linux
Architecture: armv7l
CPUs: 4
Total Memory: 920.2 MiB
Name: pi
ID: 5VW7:U32Y:CFAA:4OU6:DEWD:TTDE:KGVT:2S6Y:C2H7:ZC2G:2Y3P:DI4P
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
WARNING: No cpuset support
Experimental: false
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false
@richlander
Copy link
Member

We will do this with .NET Core 2.0. .NET Core is not at production quality yet for ARM32. First, we'll provide images at microsoft/dotnet-nightly. After we've gotten decent feedback on that and the ARM32 version is passing all functional, performance and reliability tests, we'll migrate the image to microsoft/dotnet.

At present, there are only builds of .NET Core for the runtime for ARM32. There isn't yet an SDK build, but that's something that we're working on.

That all said, do you have a preferred (existing) base image that you'd suggest we use. There is much less choice (last time I checked for ARM32).

@sylveon
Copy link
Author

sylveon commented Mar 26, 2017

No, not really. I installed docker only because my distro didn't offer a dotnet package.

@richlander
Copy link
Member

I see. Docker doesn't really solve this problem. It requires that the software already be available. No developer platform is Docker only and Docker images are primary for X64.

I'm assuming that the platform you want .NET Core for is Arch Linux. Yes? https://archlinuxarm.org/

Try one of the ARM32 builds here: https://github.com/dotnet/core-setup#daily-builds. They might work.

@aribeironovaes
Copy link

Hi @richlander ,
Do you have an update on this? Do you know if somebody was able to install a docker image with .NET Core 2.0 on raspberry pi?
Thanks!

Angelo Ribeiro.

@TAGC
Copy link

TAGC commented Apr 10, 2017

@aribeironovaes and others, apparently @nrandell created a Docker image with .NET Core 2.0 for RPis: https://github.com/sceneskope/PiDotnet

@richlander
Copy link
Member

richlander commented Jun 21, 2017

We are now actively working on this.

This is our primary blocking issue: moby/moby#33759

FYI: If you are new to ARM32 and want to play along, here is some suggested gear to purchase: https://gist.github.com/richlander/455441dc69a04115c02987cf4e01f983

@richlander
Copy link
Member

The blocking issue above is now resolved. We're now working on dotnet/dotnet-docker-nightly#328.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants