How networking in DockerStacks works and how to use it?
Under the hood, DockerStacks utilizes docker’s networking features to connect a stack’s network with a container
Out of the box, each container is interconnected and can communicate with each other inside a stack, this is achieved by using a bridge network in docker.
For instance, in a LAMP stack PHP can connect to both Apache and MySQL inside a stack.
However, in a certain situation, you might want to connect a container within a stack to another container in a different stack. Consider these examples below …
- Nginx/PHP stack needs to connect a standalone MongoDB stack
- Or, an Nginx/PHP stack needs to do API request to another stack’s webserver
For the above to work correctly, you need to configure networks using the Networking feature in DockerStacks.
To configure go to Networks on the DockerStacks side menu, considering example #1 above, select the network of MongoDB stack and select the container of php-fpm and hit Attach.
The reason above for choosing php-fpm instead of Nginx is because the former connects with MongoDB from your PHP code, the latter serves as gateway for the output from php-fpm