Docker environment(s) for Boost Development

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Docker environment(s) for Boost Development

Boost - Dev mailing list
I submitted a pull request into the superproject containing some docker
scripts.  The intention of this is to simplify managing a docker build
environment for boost:

https://github.com/boostorg/boost/pull/184

I'm wondering if folks will find this useful, and whether folks think this
should be in its own submodule instead of being in boostorg/boost.  I only
have an Ubuntu Bionic environment in this pull request but it wouldn't be
that difficult to add debian, centos, and others, as well as various
versions of each.

I have tested it on Unix and on Windows.  On Unix the performance is quite
good overall - but on Windows since they use SMB to do the sharing it is
really slow (I would say a good 20 times slower between typing "b2" and
getting the first output as it scans through all the files.  I would
recommend continuing to use a virtual machine on Windows Hosts for unix
boost development, but this option is there and hopefully they will improve
things.

This partially came out of the discussion we had a number of months back
about how we handle third party dependencies.  For the most part one has to
look at README files in various locations to learn about them.  This is an
attempt to pull all the dependencies together for a complete build into one
place (the Dockerfile).

One day when Microsoft supports Visual Studio compilation inside a
reasonably sized windows container (i.e. based on nanoserver and not
Windows Server Core), I'd like to add that as well since managing the
dependencies on Windows is a bit harder (you usually have to build them).

Thanks,

Jim

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Docker environment(s) for Boost Development

Boost - Dev mailing list
On Tue, May 8, 2018 at 6:59 AM, James E. King, III via Boost <
[hidden email]> wrote:

> I submitted a pull request into the superproject containing some docker
> scripts.  The intention of this is to simplify managing a docker build
> environment for boost:
>
> https://github.com/boostorg/boost/pull/184
>
> I'm wondering if folks will find this useful, and whether folks think this
> should be in its own submodule instead of being in boostorg/boost.  I only
> have an Ubuntu Bionic environment in this pull request but it wouldn't be
> that difficult to add debian, centos, and others, as well as various
> versions of each.
>
> I have tested it on Unix and on Windows.  On Unix the performance is quite
> good overall - but on Windows since they use SMB to do the sharing it is
> really slow (I would say a good 20 times slower between typing "b2" and
> getting the first output as it scans through all the files.  I would
> recommend continuing to use a virtual machine on Windows Hosts for unix
> boost development, but this option is there and hopefully they will improve
> things.
>
> This partially came out of the discussion we had a number of months back
> about how we handle third party dependencies.  For the most part one has to
> look at README files in various locations to learn about them.  This is an
> attempt to pull all the dependencies together for a complete build into one
> place (the Dockerfile).
>
> One day when Microsoft supports Visual Studio compilation inside a
> reasonably sized windows container (i.e. based on nanoserver and not
> Windows Server Core), I'd like to add that as well since managing the
> dependencies on Windows is a bit harder (you usually have to build them).
>
> Thanks,
>
> Jim
>

I just wanted to mention that I've got a stable of boost docker images
available at:
https://hub.docker.com/r/teeks99/boost-cpp-docker/

built from the git repo:
https://github.com/teeks99/boost-cpp-docker

I initially created these as the source for the linux regression runners
that I manage (teeks99-02*, teeks99-03*), but have used them for a lot
more. They are more focused on having older versions of compilers (gcc and
clang) working, and I think is largely complimentary to what you have here.
Just wanted to mention it in this thread.


Another thought, it might be a nice idea to take what you've done for the
baseline to create an environment, and for each release build the release
version of boost inside it and publish it to docker hub. This would give
users a way to quickly get a boost development environment, without having
to wait for the distros to package (and mangle) the binaries.

Tom

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost