Skip to content

using docker multi staging #132

@iham

Description

@iham

is there any approach towards using multi staging as docker supports?

as far as i understand the concept, it would be possilbe to split the created images into

  • 1st stage: a basic python (with zc.buildout and setuptools installed based on requirements.txt)
  • 2nd stage: a basic plone buildout (basic system packages and all the default eggs)
  • 3rd stage: a custom plone buildout (extended system packages and additional eggs)
  • 4th stage: the running instance (system build deps removed)

and for zeo purpose separate stages using the basic python stage:

  • 2nd stage: a basic zeo buildout (basic system packages and all the default eggs only needed for zeo)
  • 3rd stage: the running zeo (system build deps removed)

i see some advantages here:

  • faster docker builds, as previous unchanged stages will not compile over and over again
  • each stage can handle its own entrypoints and commands
    • while the basic plone buildout hat entrypoint "buildout" and CMD could be "-vvv" or such, the running instance has ENTRYPOINT "./bin/instance" and CMD "start"
  • the docker-initialize.py and entrypoint.sh would be gone
    • switching inside the docker what might happen could be achieved more explicit
    • customising the docker image you want to build might become more handy
  • in docker-compose you can select a stage you want to use "target"

as i don't see disadvantages i am ... in doubt ;)

any comments on that?
anybody already tried but failed horribly?
any concerns?

please share your thoughts.

thanks

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions