You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stratos.apache.org by Chamila De Alwis <ch...@wso2.com> on 2014/12/15 13:24:15 UTC

Shipping Dockerfiles corresponding to the Cartridges with Puppet modules

Hi,

Is there a plan to ship Dockerfiles for the standard set of cartridges in
Stratos? If so, IMO we need to improve the Dockerfile contents of the
sample file we're using[1].

A good place to start will be the Dockerfile best practices guide[2] and
this[3] article on avoiding using SSHD in Docker images. The current sample
Dockerfile uses SSHD to ssh into the container and interact with the files.

[1] -
https://cwiki.apache.org/confluence/display/STRATOS/4.1.0+Python+Cartridge+Agent+Guide

[2] - http://crosbymichael.com/dockerfile-best-practices.html
[3] - http://jpetazzo.github.io/2014/06/23/docker-ssh-considered-evil/


Regards,
Chamila de Alwis
Software Engineer | WSO2 | +94772207163
Blog: code.chamiladealwis.com

Re: Shipping Dockerfiles corresponding to the Cartridges with Puppet modules

Posted by Chamila De Alwis <ch...@wso2.com>.
Hi,

Please find the initial edited Dockerfiles here[1]. The setup is described
in the README. Note that SSHD is still included until the use of volumes
for configurations and log files is properly devised.

A more complex but reusable design can be derived using a pre-processor
like m4[2], however I feel it would be too complex at a stage too early.
WDYT?

[1] - https://github.com/chamilad/stratos-dockerfiles
[2] - http://bobbynorton.com/posts/includes-in-dockerfiles-with-m4-and-make/


Regards,
Chamila de Alwis
Software Engineer | WSO2 | +94772207163
Blog: code.chamiladealwis.com



On Mon, Dec 15, 2014 at 7:13 PM, Chamila De Alwis <ch...@wso2.com> wrote:
>
> Furthermore, the extension management method Raj implement in Puppet
> modules, where specific extensions were decoupled from the agent module,
> should also be reflected in the sample Dockerfiles.
>
> IMO a suitable approach for this would be to divide the common Dockerfile
> instructions from the service specific ones, i.e. have a "base-image"
> Dockerfile and various "service-image" Dockerfiles for the respective
> services (php, mysql, tomcat, etc). The base image Dockerfile will contain
> the agent specific configurations, alone with the agent extensions, and
> each service image will use the base image as the starting image. They can
> replace or add custom extensions to the resulting image.
>
> I'm in the process of writing a sample set of Dockerfiles, and will give
> an update soon.
>
>
> Regards,
> Chamila de Alwis
> Software Engineer | WSO2 | +94772207163
> Blog: code.chamiladealwis.com
>
>
>
> On Mon, Dec 15, 2014 at 5:54 PM, Chamila De Alwis <ch...@wso2.com>
> wrote:
>>
>> Hi,
>>
>> Is there a plan to ship Dockerfiles for the standard set of cartridges in
>> Stratos? If so, IMO we need to improve the Dockerfile contents of the
>> sample file we're using[1].
>>
>> A good place to start will be the Dockerfile best practices guide[2] and
>> this[3] article on avoiding using SSHD in Docker images. The current sample
>> Dockerfile uses SSHD to ssh into the container and interact with the files.
>>
>> [1] -
>> https://cwiki.apache.org/confluence/display/STRATOS/4.1.0+Python+Cartridge+Agent+Guide
>>
>> [2] - http://crosbymichael.com/dockerfile-best-practices.html
>> [3] - http://jpetazzo.github.io/2014/06/23/docker-ssh-considered-evil/
>>
>>
>> Regards,
>> Chamila de Alwis
>> Software Engineer | WSO2 | +94772207163
>> Blog: code.chamiladealwis.com
>>
>>
>>

Re: Shipping Dockerfiles corresponding to the Cartridges with Puppet modules

Posted by Chamila De Alwis <ch...@wso2.com>.
Furthermore, the extension management method Raj implement in Puppet
modules, where specific extensions were decoupled from the agent module,
should also be reflected in the sample Dockerfiles.

IMO a suitable approach for this would be to divide the common Dockerfile
instructions from the service specific ones, i.e. have a "base-image"
Dockerfile and various "service-image" Dockerfiles for the respective
services (php, mysql, tomcat, etc). The base image Dockerfile will contain
the agent specific configurations, alone with the agent extensions, and
each service image will use the base image as the starting image. They can
replace or add custom extensions to the resulting image.

I'm in the process of writing a sample set of Dockerfiles, and will give an
update soon.


Regards,
Chamila de Alwis
Software Engineer | WSO2 | +94772207163
Blog: code.chamiladealwis.com



On Mon, Dec 15, 2014 at 5:54 PM, Chamila De Alwis <ch...@wso2.com> wrote:
>
> Hi,
>
> Is there a plan to ship Dockerfiles for the standard set of cartridges in
> Stratos? If so, IMO we need to improve the Dockerfile contents of the
> sample file we're using[1].
>
> A good place to start will be the Dockerfile best practices guide[2] and
> this[3] article on avoiding using SSHD in Docker images. The current sample
> Dockerfile uses SSHD to ssh into the container and interact with the files.
>
> [1] -
> https://cwiki.apache.org/confluence/display/STRATOS/4.1.0+Python+Cartridge+Agent+Guide
>
> [2] - http://crosbymichael.com/dockerfile-best-practices.html
> [3] - http://jpetazzo.github.io/2014/06/23/docker-ssh-considered-evil/
>
>
> Regards,
> Chamila de Alwis
> Software Engineer | WSO2 | +94772207163
> Blog: code.chamiladealwis.com
>
>
>