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

Initial Dockerfile for codespaces... #30

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

coatless
Copy link

@coatless coatless commented Mar 6, 2024

I've tried to keep this Dockerfile as minimal as possible. The target for the container is to quickly bootstrap contributing to mlpack via GitHub Codespaces.

Unlike the mlpack/mlpack and other containers in the repository, we're building this off of the universal devcontainer to lower the storage requirements associated with deployment on GitHub Codespaces following the "Getting the most out of your included usage".

@coatless coatless marked this pull request as draft March 6, 2024 23:01
@coatless
Copy link
Author

coatless commented Mar 7, 2024

Welp, this isn't minimal at all in terms of the base image. Building onto the container with just a few items causes the image to exceed what's available on GH Action Builder to create a modified image. Plus, I can't build the image locally due to it rejecting arm64 😢

So, my thought here is to move away from the universal as a base image or lobotomize the container of .NET/Java/PHP/ ... :

https://github.com/devcontainers/images/blob/main/src/universal/history/2.9.0.md

There are other containers, but we're stuck with a container that uses the Universal ID if we want it to work 👎 .

Any preference @rcurtin ?

@rcurtin
Copy link
Member

rcurtin commented Mar 7, 2024

Do you think I could build it locally and push it? It's ok with me if each container needs to be handbuilt and pushed to Dockerhub to be updated---that's already what we do for containers when mlpack versions get bumped.

Happy to try it. I do have an OS X arm64 (M1 or M2, can't remember) system I could use to build that version.

@coatless
Copy link
Author

coatless commented Mar 8, 2024

So, the hiccup building locally was the base universal is linux/amd64 and doesn't play nicely with M-series macs (linux/arm64). Though, under buildx build emulation, I snagged a viable image now on DockerHub.

docker buildx build --platform=linux/amd64 -t mlpack-codespace .

I'll have time to check the image later today that this Dockerfile generated.

@rcurtin
Copy link
Member

rcurtin commented Mar 8, 2024

Awesome! If that works, I can push it to the mlpack Dockerhub account too.

libblas-dev \
libarpack2 \
libsuperlu-dev \
libstb-dev && \
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we will also need libcereal-dev, unless that's already installed. 👍

pandas setuptools

## Install armadillo.
RUN curl -Lk https://files.mlpack.org/armadillo-11.4.1.tar.gz | tar -xvz && \
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Happy to put a newer version in place if you like.

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

Successfully merging this pull request may close these issues.

None yet

2 participants