Hi Lakmal,

Thank you very much for the clarification, I agree with your concerns. Let
me summarize what we discussed offline:

- Docker is designed to run one process in a container by adhering to
Single Responsibility Principle [1]
- Therefore ideally Puppet should run in a different container, similar to
networking process in Kubernetes. Puppet says that they are working on
this, need to check the latest status.
- However at the moment Puppet can be used for creating Docker images with
existing puppet modules. Puppet modules will run at the Docker image build
time.
- To preserve the advantage of using Docker (startup speed) the idea is to
pre-install all required software and create Docker images before hand,
unlike VMs.
- Software update process can be handled with Docker by creating new Docker
images for updates and roll-out the changes by stopping the existing
containers and starting new ones. This is currently supported by Kubernetes.
- When using Puppet with VMs we could notify the instances and execute
puppet agent to propagate updates.

[1] http://paynedigital.com/articles/2013/11/introduction-to-docker

Thanks

On Wed, Jan 28, 2015 at 10:18 AM, Lakmal Warusawithana <[email protected]>
wrote:

> I think you have misunderstood what they are doing. Dockerfile RUN command
> execute at the docker built time. Puppet is involved with RUN command. Only
> CMD command will execute at the docker container startup time. I think this
> will help to understand what they are doing.
>
> On Wed, Jan 28, 2015 at 9:37 AM, Imesh Gunaratne <[email protected]> wrote:
>
>> Hi Lakmal,
>>
>> I agree with the point on the concept of running a single process,
>> according to [1] Puppet team is currently working on running puppet in a
>> different container.
>>
>> Regarding the puppet usage, IMO we do not necessarily need to run puppet
>> and install software at docker image build time. We could execute that
>> logic on container startup.
>>
>> [1]
>> http://puppetlabs.com/presentations/using-docker-puppet-james-turnbull-kickstarter
>>
>> On Wed, Jan 28, 2015 at 8:10 AM, Lakmal Warusawithana <[email protected]>
>> wrote:
>>
>>> Hi Imesh,
>>>
>>> This was there form the beginning. This is for create docker image using
>>> puppet, not running puppet inside a container and install application at
>>> run time. By design docker not mean to support this, because it have not a
>>> init system inside the container. By design it recommend to run single
>>> processor inside a container.
>>>
>>> On Wed, Jan 28, 2015 at 12:39 AM, Imesh Gunaratne <[email protected]>
>>> wrote:
>>>
>>>> Hi Devs,
>>>>
>>>> This is cool, now we can use Puppet with Docker:
>>>>
>>>> http://puppetlabs.com/blog/building-puppet-based-applications-inside-docker
>>>>
>>>> Currently we package Cartridge Agent package with base docker image.
>>>> This is an overhead. Each time we update the Cartridge Agent package we
>>>> need to re-create the base docker image and service docker images.
>>>>
>>>> Now with this approach we can host puppet modules in a git repo and
>>>> create a base docker image without bundling any software. Then we can
>>>> create service docker images by bundling Puppetfiles which can install
>>>> puppet modules on runtime.
>>>>
>>>
>>> This is wrong. it not install modules run time, rather it re-create
>>> docker image with help from puppet.
>>>
>>>
>>>
>>>> This is great!
>>>>
>>>> Thanks
>>>>
>>>>
>>>> --
>>>> Imesh Gunaratne
>>>>
>>>> Technical Lead, WSO2
>>>> Committer & PMC Member, Apache Stratos
>>>>
>>>
>>>
>>>
>>> --
>>> Lakmal Warusawithana
>>> Vice President, Apache Stratos
>>> Director - Cloud Architecture; WSO2 Inc.
>>> Mobile : +94714289692
>>> Blog : http://lakmalsview.blogspot.com/
>>>
>>>
>>
>>
>> --
>> Imesh Gunaratne
>>
>> Technical Lead, WSO2
>> Committer & PMC Member, Apache Stratos
>>
>
>
>
> --
> Lakmal Warusawithana
> Vice President, Apache Stratos
> Director - Cloud Architecture; WSO2 Inc.
> Mobile : +94714289692
> Blog : http://lakmalsview.blogspot.com/
>
>


-- 
Imesh Gunaratne

Technical Lead, WSO2
Committer & PMC Member, Apache Stratos

Reply via email to