Dockerizing my production server

Hi all,

I’m new to docker. I have been reading a lot about it lately and I’m starting to think in a deep reorganization of my production server.

The main goal of this production server is the publication of scientific journal magazines (based on an application called OJS), and also include a few drupals (ignored in this post). So I will have a farm where new journals will be created in future, all based in OJS and the LAMP stack.

The charge in this server is low so right now I’m not concerned about resource usage, load balancing… but really interested in isolation, continuous integration, versioning, snapshots and also about the flexibility of the model (i’m the guinea pig here to offer the model to the whole PKP-OJS community).

So… if I’m understanding how all it works, our needs fit quite well with the microservices pattern.

This is the architecture I have in mind:

[  OJS:version   ]
[ PHP:5.6-apache ]  <-- link --> [ MARIADB:10.3] <-- link --> [ PHP:5.6-apache]

I want to make it simple, so right now I’m just working with Dockerfiles and docker-compose files.
Storage (mysql and the public/private folders of each container) will be stored outside the containers.

This is the work done till now:

So my initial doubts here are:
a) Is there Dockerfile+docker-compose the right and the simplest decision for a “farm”?
b) Any example docker-compose showing how to connect to a single DB?
c) Any similar project?

Thanks in advance,
m.

Disclamer: RTFM is always welcome if comes with an URL.

Moving to a different forum area…