fsprojects / IfSharp

F# for Jupyter Notebooks
Other
440 stars 71 forks source link

Publish docker image on docker hub #170

Closed godu closed 5 years ago

godu commented 6 years ago

Users should be able to pull IfSharp docker image from docker hub. Every IfSharp releases should to be available as a Docker tag.

There are two ways to answer that :

baronfel commented 5 years ago

I saw that @cprieto has done this already: https://github.com/cprieto/docker-jupyter/blob/master/fsharp/Dockerfile

perhaps they'd be willing to upstream it? or at least this project could point to their image?

cprieto commented 5 years ago

It will be my pleasure, my image is based in Alpine and it is very compact and small (around 580MB, sorry, Mono is really big but this is small compared with docker images around, ~1.1GB).

If there is no objection, I can PR the Dockerfile and we can let people give it a try.

baronfel commented 5 years ago

In addition, if there's a concern about image size, it might be possible to do work on this repository to make it compatible with dotnet core, and then deploy a self-contained deployment on top of the ~90MB 2.1.2-runtime-alpine image.

baronfel commented 5 years ago

related: https://github.com/fsprojects/IfSharp/pull/185

cprieto commented 5 years ago

@baronfel I see it there is a PR for this, as soon as it is merged (the dotnet core support) I will give a try, I probably can save around 100MB (I guess, approx) from the image size with donet core.

cgravill commented 5 years ago

Very happy to get improvements to using F# Jupyter under Docker.

It might make sense to separate out these changes, better support for existing usage, on both .NET and Mono. Then potentially to use .NET Core in the future. The PR for .NET Core support looks like a great start but will need more around supporting plotting and other helpers.

Related I just did a v3.0.0 zip release which updates from the v3.0.0-beta3 release. In particular it contains a mitigation for the Mono stackoverflow #143. It's working on Mono/macOS but I haven't tested it with Docker/Linux so let me know if there are any issues.

cprieto commented 5 years ago

I just created a new clean image (using my Dockerfile) and I still see the issue you are pointing at (#143), in fact, the kernel is dying when displaying sigbdata.

I will give it a try later when I have a little more of time to see if it is related to the original issue.

cgravill commented 5 years ago

@cprieto did you switch to the new release https://github.com/fsprojects/IfSharp/releases/download/v3.0.0/IfSharp.v3.0.0.zip ?

godu commented 5 years ago

@cgravill I think, in the first place, we should setup CD to auto-publish a docker image for each tags. Then we could optimize images sizes or build two images (mono and dotnetcore).

As i said in my issue, we could use travis or docker-hub to do this job.

I publish a few of them manually here https://hub.docker.com/r/godu/ifsharp/tags/.

@cprieto Good job 👍 use alpine is a hard work to do. But without CD, this work will not showcase.

cprieto commented 5 years ago

Thanks @godu I have some spare time this weekend so if nobody minds I can give a try to the auto publishing of this thing.

godu commented 5 years ago

@cprieto Sorry, i did it :) . You can review my PR here https://github.com/fsprojects/IfSharp/pull/187

cgravill commented 5 years ago

Very happy to switch to CD, I added some questions on the PR about how to manage accounts.

dsyme commented 5 years ago

OK it's working, images here https://cloud.docker.com/u/fsprojects/repository/registry-1.docker.io/fsprojects/ifsharp

cgravill commented 5 years ago

Great, thanks @godu for getting this going and @dsyme & @gbaydin for finishing it off