[mlpack] Prepackaged Dev Environment

Ryan Birmingham rainventions at gmail.com
Mon Nov 4 14:44:16 EST 2019


In the mean time, I've had luck with the below dockerfile:

# Using debian's latest image as base-image.
FROM ubuntu

RUN apt-get update -qq && \
    apt-get install -y --no-install-recommends python-pip cmake wget sudo \
    libopenblas-dev liblapack-dev binutils-dev libboost-all-dev pkg-config \
    make txt2man git doxygen libarmadillo-dev build-essential

# Get mlpack version.
ARG mlpack_archive

# Update software repository, install dependencies and build mlpack.
RUN useradd -m mlpack && echo "mlpack:mlpack" | chpasswd && \
    adduser mlpack sudo && su mlpack && cd /home/mlpack/

WORKDIR /home/mlpack/
# Copy mlpack source so this can build itself based on git location/tags
and any dev edits locally
COPY ./ /home/mlpack/
RUN  mkdir build
WORKDIR /home/mlpack/build
RUN cmake .. && make && make install && chown -R mlpack:mlpack /home/mlpack

ENV PROJ_WORK_DIR /home/mlpack/build/

# Setup environment.
ENV LD_LIBRARY_PATH /usr/local/lib/
USER mlpack
WORKDIR /home/mlpack
CMD /bin/bash



-Ryan Birmingham


On Mon, Nov 4, 2019 at 12:05 PM Ryan Birmingham <rainventions at gmail.com>
wrote:

> Hello,
>
> Some confusion here, I can't find the template you're starting from:
>
> Step 1/13 : FROM mlpack/templates:mlpack-stretch-27-template
> pull access denied for mlpack/templates, repository does not exist or may
> require 'docker login': denied: requested access to the resource is denied
> -Ryan Birmingham
>
>
> On Fri, Nov 1, 2019 at 10:35 PM Marcus Edel <marcus.edel at fu-berlin.de>
> wrote:
>
>> Hello,
>>
>> The docker images on docker-hub are based on Debian stretch, they are not
>> as
>> stripped down as what we use for the matrix build, as I think it nice to
>> have at
>> least some tools around. Anyway if you have a specific dev scenario in
>> mind, I
>> guess we should just rewrite the Dockerfile and setup a Jenkins job that
>> builds
>> everything once there is a new release and a nightly version would be
>> great as
>> well.
>>
>> Thanks,
>> Marcus
>>
>> Here is the Dockerfile I used:
>>
>> FROM mlpack/templates:mlpack-stretch-27-template
>>
>> # Meta information.
>> LABEL maintainer="marcus.edel at fu-berlin.de"
>>
>> # Get mlpack version.
>> ARG mlpack_archive
>>
>> # Update software repository, install dependencies and build mlpack.
>> RUN useradd -m mlpack && echo "mlpack:mlpack" | chpasswd && \
>>     adduser mlpack sudo && su mlpack && cd /home/mlpack/ && \
>>     wget -O mlpack.tar.gz ${mlpack_archive} && \
>>     tar -xvzpf mlpack.tar.gz && cd * && mkdir build && \
>>     cd build && cmake .. && make -j4 && make install && chown -R
>> mlpack:mlpack /home/mlpack
>>
>> ENV PROJ_WORK_DIR /home/mlpack/build/
>>
>> # Setup environment.
>> ENV LD_LIBRARY_PATH /usr/local/lib/
>> USER mlpack
>> WORKDIR /home/mlpack
>> CMD /bin/bash
>>
>>
>>
>> On 1. Nov 2019, at 12:12, Ryan Birmingham <rainventions at gmail.com> wrote:
>>
>> Hi Marcus,
>>
>> Which scripts are/were used to generate these dockerhub images? Was it
>> https://github.com/mlpack/jenkins-conf/tree/master/Generate%20Dockerfile
>> ? Are we rebuilding the same dockerfiles from
>> https://github.com/mlpack/jenkins-conf/tree/master/Dockerfiles ? Or is
>> this something else entirely?
>>
>> Also, what I'm looking to create or use is a dev container/vm (i.e. a
>> container that can build/test mlpack/ensmallen); maybe that would be a
>> useful tag to add, provided that this setup is useful to people who aren't
>> me :)
>> -Ryan Birmingham
>>
>>
>> On Thu, Oct 31, 2019 at 1:40 PM Marcus Edel <marcus.edel at fu-berlin.de>
>> wrote:
>>
>>> Hello,
>>>
>>> for docker there is
>>> https://cloud.docker.com/repository/docker/mlpack/mlpack/tags which
>>> should
>>> provide a docker image for each release and nightly build as well. I
>>> have to
>>> check why the script stopped working.
>>>
>>> Maybe it makes sense to embed the process into a Jenkins job.
>>>
>>> Also maybe we should think about providing a virtualbox image as well?
>>>
>>> Thanks,
>>> Marcus
>>>
>>> > On 31. Oct 2019, at 16:45, Ryan Curtin <ryan at ratml.org> wrote:
>>> >
>>> > On Thu, Oct 31, 2019 at 11:39:35AM -0400, Ryan Birmingham wrote:
>>> >> Hello everyone,
>>> >>
>>> >> One of the things that I think would be useful to me, at the least,
>>> is a
>>> >> vm/docker/some other thing that I could use as a development
>>> environment.
>>> >> Before I do any work on this, I essentially have two questions: has
>>> anyone
>>> >> else already solved this, and (if not) what would be useful features
>>> to
>>> >> include in a prepackaged dev environment?
>>> >
>>> > Hey Ryan,
>>> >
>>> > Agreed!  I think that could be useful.  This has been discussed about
>>> > the benchmarks repository:
>>> >
>>> > https://github.com/mlpack/benchmarks/pull/135
>>> >
>>> > But it could definitely be useful for the main mlpack repository too.
>>> >
>>> > If you worked on this, perhaps we could put the Dockerfile in some
>>> > mlpack repository, and then upload it to DockerHub and update our
>>> > documentation?  Anyway, just an idea. :)
>>> >
>>> > Hope this helps!  And it was cool to run into you at the GSoC mentor
>>> > summit in Munich. :)
>>> >
>>> > Ryan
>>> >
>>> > --
>>> > Ryan Curtin    | "Why is it that the landscape is moving... but the
>>> boat is
>>> > ryan at ratml.org | still?"  - Train Driver
>>> > _______________________________________________
>>> > mlpack mailing list
>>> > mlpack at lists.mlpack.org
>>> > http://knife.lugatgt.org/cgi-bin/mailman/listinfo/mlpack
>>>
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://knife.lugatgt.org/pipermail/mlpack/attachments/20191104/89d10d49/attachment-0001.html>


More information about the mlpack mailing list