Puppet-in-Docker

221 views
Skip to first unread message

Gareth Rushgrove

unread,
Jun 3, 2016, 9:23:55 AM6/3/16
to puppet...@googlegroups.com
Hi All

A few folks might have seen this yesterday, but just in case.

https://puppet.com/blog/puppet-docker-running-puppet-container-centric-infrastructure

I've been working on a set of Docker images for running Puppet
software, so Puppet Server, PuppetDB, etc. The blog post above covers
why and when this might be useful, but a few examples:

* You want to run Puppet on something like CoreOS, PhotonOS or Atomic
where containers are the defacto way of installing software
* You want a full local development environment (including on WIndows
or OSX) with minimal overhead

The Dockerfiles and various build tools are available on GitHub:

https://github.com/puppetlabs/puppet-in-docker

And the images are available today on Docker Hub:

https://hub.docker.com/u/puppet/

We've also created a number of examples that show a few tips and
tricks, including standing up the server stack using Docker compose:

https://github.com/puppetlabs/puppet-in-docker-examples

These are an experimental way of packaging up and releasing Puppet
software intended for those people already familiar with Docker. We'd
love any feedback about what you like and don't like, what you'd like
to see in the future or anything vaguely related.

And a quick thanks to all the people in the Puppet community who have
rolled their own versions of this at some point or another. By having
an official Puppet repo we're hoping that for the common case we can
get everyone collaborating on a shared set of Dockerfiles/images, and
that with many eyes come all the good ideas, but we want to make them
a good starting point for advanced users too.

Cheers

Gareth



--
Gareth Rushgrove
@garethr

devopsweekly.com
morethanseven.net
garethrushgrove.com

Rich Burroughs

unread,
Jun 3, 2016, 10:15:11 AM6/3/16
to puppet...@googlegroups.com
I was starting to play around with rolling my own puppetserver container a few weeks ago and I was wondering if there would ever be an official one. So thanks for reading my mind :)


Rich
--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/CAFi_6yJiXCCBoBeZCB90oi9JGSCbVbirYrG2ha460L3aHgTsHg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Thomas Müller

unread,
Jun 4, 2016, 12:01:22 PM6/4/16
to Puppet Users
Hi Gareth



* You want to run Puppet on something like CoreOS, PhotonOS or Atomic
where containers are the defacto way of installing software
* You want a full local development environment (including on WIndows
or OSX) with minimal overhead

The Dockerfiles and various build tools are available on GitHub:

https://github.com/puppetlabs/puppet-in-docker


Just at the right time. Wanted to start playing around with runnning a master in a docker. 

Browsing the Dockerfile on github I wondered why the config is not managed by puppet (apply). I would have expected that after the agent is installed that* everything else would be configured by Puppet manifests. 

Have not thought about it very long but it seems to me that managing the config in puppet manifests would be cool. :-)I thinks of having a complete control-repo style environment inside the Dockerfile directory to use with puppet apply. 

- Thomas 


Gareth Rushgrove

unread,
Jun 5, 2016, 4:41:36 AM6/5/16
to puppet...@googlegroups.com
On 4 June 2016 at 17:01, Thomas Müller <tho...@chaschperli.ch> wrote:
> Hi Gareth
>>
>>
>>
>> * You want to run Puppet on something like CoreOS, PhotonOS or Atomic
>> where containers are the defacto way of installing software
>> * You want a full local development environment (including on WIndows
>> or OSX) with minimal overhead
>>
>> The Dockerfiles and various build tools are available on GitHub:
>>
>> https://github.com/puppetlabs/puppet-in-docker
>>
>
> Just at the right time. Wanted to start playing around with runnning a
> master in a docker.
>

Excellent, do let us know how you get on.

> Browsing the Dockerfile on github I wondered why the config is not managed
> by puppet (apply). I would have expected that after the agent is installed
> that* everything else would be configured by Puppet manifests.
>
> Have not thought about it very long but it seems to me that managing the
> config in puppet manifests would be cool. :-)I thinks of having a complete
> control-repo style environment inside the Dockerfile directory to use with
> puppet apply.
>

In the case of these initial images the amount of post package
installation configuration is minimal, or in some cases even none [1].
So I stuck with a more Dockerfile native approach.

I definitely think there are cases where Puppet makes a good tool for
image configuration though. I was talking to a few folks about this
example [2] using Rocker to avoid the resulting image size being too
large just last week.

I think one of the benefits (that might make this repository flip over
to using Puppet later) would be the ability to create many images from
a single Puppet codebase. This would avoid some of the repetition that
often follows Dockerfiles around. I have some ideas for some quite
nifty Puppet-native tooling here too.

If anyone is going to be at DockerCon come and say Hi on the Puppet
booth. I'm giving a talk about the pros and cons of Dockerfile, and on
the need for higher level tools for image building that would probably
be of interest.

[1] https://github.com/puppetlabs/puppet-in-docker/blob/master/puppet-agent-ubuntu/Dockerfile
[2] https://github.com/puppetlabs/puppet-rocker-demo
[3] http://dockercon2016.sched.org/event/70Ng/the-dockerfile-explosion-and-the-need-for-higher-level-tools

G
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to puppet-users...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/puppet-users/ec6ddc1e-e66d-4151-b92f-0a8e05cc072b%40googlegroups.com.
>
> For more options, visit https://groups.google.com/d/optout.



Reply all
Reply to author
Forward
0 new messages