0

I have PHP web application and i want to convert it into docker.

I have these containers

mysql
php
nginx

I have source code in my host folder as /var/www/site1

Now when i launch nginx , then i can mount site1 to nginx as /usr/nginx/share/html

But i am not sure how does i link with PHP conainer. Can't i have stand alone PHP container with only PHP installed or I need to have some webserver along with PHP

2
  • What's in the PHP container? PHP-files or some actual installation? Commented Dec 30, 2014 at 14:52
  • @wassgren php conatiner has just php installed with all libraries Commented Dec 31, 2014 at 10:22

1 Answer 1

2

My view on docker containers is that each container typically represents one process. E.g. mysql or nginx as in your example. Containers typically communicates with each other using networking or via shared files in volumes.

Each container runs its own operating system (typically specified in the FROM-section in your Dockerfile. In your case, you are suggesting that the nginx-container runs in one process with one operating system and that the php-libraries run in a different process (in a different os). I'm not sure if this is doable but it seems as if it is a strange way of doing things.

My suggestion is that you create two containers:

  • nginx+php - this container holds the PHP installation as well as the Nginx-stuff
  • mysql - this container contains the database

The container can communicate via classic networking or as linked containers.

However, the PHP-files that you wish to execute (i.e. your website) should be dynamically mounted as a data volume on the nginx+php container or as data volume container.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.