-
Notifications
You must be signed in to change notification settings - Fork 169
ASP.NET 5 Docker image based on CoreCLR #83
Comments
Sounds good, I just came to question CoreCLR docker images as part of #78 so I will close that and we can continue here |
@glennc over to you 😄 |
Thanks :). I will add it to the list. Should be mostly the same as the mono Dockerfile |
cool, let us know when we can get our grubby mits on it or I guess if you want @vlesierse to do anything |
@vlesierse Thanks for bringing this up. Going forward, there's probably not much value in keeping However in the long run, I am guessing people can switch from mono to coreclr images without changing anything on their applications' Dockerfile. Therefore at some point we'll probably introduce a breaking case (we reserve right to do so as this is just a preview image) and switch everything to coreclr. PRs welcome for CoreCLR images and let's see if it actually works with Docker! :) *: community still can maintain those in a separate repo |
Probably in the coming week I can submit a PR, but if someone have time earlier, be my guest. It should be straight forward. |
@vlesierse tried to take a stab at this, looks more complicated than I expected :P |
Added PR 😄 |
@ahmetalpbalkan I'd argue there's definitely value in keeping the Mono images in this repo (even after 1.0), there'll be a long tail of people that aren't able to switch to .NET Core due to dependencies missing etc. I don't envision them being much different from the CoreCLR-based dockerfiles anyway, so it's not a huge maintenance burden. |
@akoeplinger +1 |
OK, let's keep them then. You guys are experts on this more than I am. :-) |
I agree to keep a mono version for a while. A good argument for this is that in the beginning not all libraries are ready to be used with CoreCLR and need to be ported first. Then Mono is your only option. The conventions of putting the technology first I assume that the Docker on Windows images will have distinctions as well (Full .NET vs CoreCLR) but let's postpone this until there are more details how this will look like. |
Not sure if I should file this here, create a new issue, or put in on the DNX repo... I've had a similar project for hosting a standalone (published) project for a while. In attempting to slim down my images, it's been a lot of back-and-forth to figure out what's really required in the base docker image. You can see my base image here: https://hub.docker.com/r/jstclair/jessie-libuv/~/dockerfile/ The issue is that I think someone should be responsible for documenting the exact requirements for running DNX on a Linux box. The current images install (but don't remove) a bunch of build tools, and some parts need to be on the machine in order for DNX to run. In jessie-libuv Dockerfile, I've discovered at least GLIBC 2.14, libunwind8, and libc-dev. I know this isn't exactly what you're trying to do here, but for others trying to create their own base image, it would be useful. |
Just a note to the previous comment - I've found the linux required package list (http://docs.asp.net/en/latest/getting-started/installing-on-linux.html#install-the-net-execution-environment-dnx) and am trying that out. Previously, I was getting an error that suggested I needed to install libc-dev. |
So, after adding the packages above to my base image, I get the following stack trace when running kestrel:
Doing a search for |
@ahmetalpbalkan Yes, that's where I saw the link to the required Linux packages. Although that Dockerfile is closer to mine, I just wanted to create a base image with only dependencies but no DNX (I rather publish DNX as part of deploying my application). |
Just to close this up - have added the runtime dependencies from the ASPNET documentation (with the addition of |
I think we can close this one now right? |
👍 |
Yeah, we can close this issue |
Now that ASP.NET 5 Beta 7 has support for CoreCLR and that the current Docker images are based on the Mono image, I propose to have two sets of images, one based on Mono and the other on .NET CoreCLR.
There are two possible options which I would like to propose:
Use the image name
docker pull microsoft/aspnet-mono:1.0.0-beta7
docker pull microsoft/aspnet-coreclr:1.0.0-beta7
Use the image tag
docker pull microsoft/aspnet:1.0.0-beta7-mono
docker pull microsoft/aspnet:1.0.0-beta7-coreclr
For both options you could still create a
docker pull microsoft/aspnet:1.0.0-beta7
which either points to the mono or the coreclr.My preference goes to the second option which give you more freedom in aliasing images. For example
microsoft/aspnet:coreclr
is the same asmicrosoft/aspnet:latest-coreclr
I can create the CoreCLR version at the earliest next week. If someone didn't send a pull request yet I'll give it a try.
The text was updated successfully, but these errors were encountered: