[nSLUG] Any Docker experts on this thread?

Evan Lowry lowry.e at gmail.com
Tue Jul 25 19:19:01 ADT 2017


Following 12 factor will save you loads of headache when it comes to using
containers: https://12factor.net/

If we ignore data persistence problems for a moment, typically you would
have a docker-compose file with 2-3 services defined in this case:
- mysql
- nginx
- whatever your php runner is (assuming it's like uwsgi for python, I'm
willfully blind to PHP land)

The nginx container has exposed public ports, which you connect into, the
others just act as attached resources.

If you need to run one-time migration style scripts, typically you would
just launch a second php runner instance with the already running database
node attached post-deployment (application should handle unconfigured state
gracefully).

If this is going to be a production setup, data persistence is a concern --
I did all my docker setup back in the 1.0.3 days, the data volume API
wasn't an option (and just used RDS or flocker instead). It might be good,
but I haven't used it personally:
https://docs.docker.com/engine/reference/commandline/volume_create/

Wordpress has been one of their docker-compose samples for quite some time,
which may be a good reference: https://docs.docker.com/samples/wordpress/

Hope some of that helps,
- Evan

On Tue, Jul 25, 2017 at 7:06 PM, Stephen Yorke <syorke at gmail.com> wrote:

> Howdy again gang,
>
> Have a couple things I want to run by someone who is at least good in
> Docker.
>
> I am setting up a new web infrastructure which will mainly be WordPress
> sites but I want to do it all in Docker and have some questions and
> possible concerns.
>
> 1. The MySQL/MariaDB instance
> Should I create my DB instance on a stand-alone DB server which would also
> run NGINX and WordPress to do the initial configurations, then using
> Docker, mount the MySQL folder to each container?
>
> 2. WordPress
> If using the above server as my 'base' for configuration, could I then
> mount its WordPress folder as well to each Container or is there a better
> way of doing so?
>
> 3. NGINX
> I will be using the latest stable version NGINX and php-fpm, mount the
> folders in containers as well or just setup my NGINX container, copy the
> NGINX config files to the local host and have Docker mount said local
> folders for the NGINX instance?
>
> I will be looking at Docker Swarm to setup multiple instances of the
> websites eventually and have auto-expand and auto-deplete depending on
> load.  I will probably have a total of 3-5 Docker nodes running possibly
> RanchOS, CoreOS or AlpineOS as I do not need a full Debian installation to
> be used as my Container OSes but I will be using Debian or CentOS for my
> Database server and possibly another for a File Server for
> sharing/mounting to the Docker nodes.
>
> Mainly, what I am looking for is a best practice for the above areas.  I
> have looked online but can not find anything really for the database side
> of things.  There is a lot of partial information but no type of guides,
> guidelines or walk-throughs that folks have already done.  I am sure folks
> running these types of setups have done all of the above, why is there real
> no information on it out there?  If I get it all setup and configured, it
> will be one of the first blog posts I publish on some site somewhere.
>
> Thanks in advance for any and all replies, even if it is just links to
> documentation that I have yet to uncover.
> -Stephen
>
> _______________________________________________
> nSLUG mailing list
> nSLUG at nslug.ns.ca
> http://nslug.ns.ca/mailman/listinfo/nslug
>
>


-- 
Evan Lowry
902.403.5244
www.exitiumonline.com | https://github.com/Lykathia
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nslug.ns.ca/pipermail/nslug/attachments/20170725/b9638bbc/attachment.html>


More information about the nSLUG mailing list