Skip to content
This repository has been archived by the owner on Feb 7, 2021. It is now read-only.

Advanced Version ? still under development #32

Open
gowrav-vishwakarma opened this issue Dec 31, 2017 · 5 comments
Open

Advanced Version ? still under development #32

gowrav-vishwakarma opened this issue Dec 31, 2017 · 5 comments
Labels

Comments

@gowrav-vishwakarma
Copy link

Hi,

Was reading your advanced file and looks like it is an abandoned work. Does it still in development ?

@nazar-pc
Copy link
Owner

Advanced features are not actively developed, that is right, primarily because there are some things in Docker itself that make seamless experience of building a cluster impossible.

However, this project is not abandoned, it is maintained when needed and new builds are automatically done by Docker Hub with latest security updates. I also have plans to upgrade PHP to version 7.2 soon.

If you have any specific feature request or issues with this project - feel free to open corresponding issue or submit a pull request. I'm the only developer here, also I have lots of other open source projects and it is not feasible for me to actively work on all of them at the same time.

@gowrav-vishwakarma
Copy link
Author

Okay, so we are working on some hosted service Drag and drop based website/e-commerce builder with CRM and ERP system. And looking to setup docker way ... We are new to docker thing but getting it up quick.

We are experimenting with docker to achieve a scale-able system with php/apache/mariadb-galera-master-master-cluster (or may be xtradb if code is compatible)/distributed volume for user files.

I am responsible to provide some proof of concept and your advanced system is most near to what we want to achieve. So, we are ready to contribute in the system while we maintain things for our system here.

Any better way to communicate and tell you more about our system ? can I email you to call at any other chat system ?

@nazar-pc
Copy link
Owner

I roughly understand what you need, it is exactly what I was trying to achieve, but as mentioned in #23 there are some features on Docker side that are lacking before it is possible to completely automate the most of it.

You should be able to achieve scalability already as soon as you provide scalable volume to all of the containers you're using and specify SERVICE_NAME and other variables as in advanced docs.

For instance, MariaDB container is always a cluster, but in case of singe instance it is a cluster with 1 node. PHP and Nginx are scaling naturally as soon as you have the same scalable file system for them and HAProxy is also ready to proxy requests to multiple nodes. So give it a try and let me know if it works.

You can contacts me via email specified in GitHub profile if needed, but I'd prefer to have more discussion in public so that other people might help us or learn something.

@gowrav-vishwakarma
Copy link
Author

Hi,
So after a lot study on docker, docker swam mode, still a lot of things are with a way too much ways to do.

If you agree, we can implement some simple demo php application and write its complete tutorial for others. And the case I am looking is most common one.

a docker swarm mode docker-compose.yml file that should do following

I have a php code where person uploads files and we are looking for scalable php/nginx or apache/mariadb stack with following things

  1. My app has config files for nginx and php but we are not creating a combined container so how to mount these files in another container is an issue

  2. proper bootstraping of galera

  3. any distributed file system

  4. php sessions ?

May be it cannot be a single docker-compose.yml but a series of process ?

Can you help here !!!

@nazar-pc
Copy link
Owner

nazar-pc commented Jan 2, 2018

  1. You need to create Docket volume with driver/plugin that can work across cluster and each Nginx/PHP will need to use it instead of data container in my examples.
  2. As soon as you have 1. it should just work already, optionally you'll want to mount /tmp/mysql on all nodes to local storage or tmpfs so that only one copy of MariaDB is permanently stored in distributed file system and you don't create unnecessary load on it
  3. Same as 1. or anything else like AWS S3 for uploaded files
  4. For scalable application you'd better use some custom session mechanism instead of default offered by PHP or at least use external storage like Redis

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants