local-nginx-tutorial/eg3
Jason Zhu 7bdffc22cf eg3 finished Backend + Frontend cross communication 2023-05-05 00:00:15 +10:00
..
backend eg3 finished Backend only 2023-05-04 23:45:36 +10:00
frontend Finished Frontend only for eg3 2023-05-04 23:51:49 +10:00
proxy eg3 finished Backend only 2023-05-04 23:45:36 +10:00
README.md eg3 finished Backend + Frontend cross communication 2023-05-05 00:00:15 +10:00
docker-compose.yaml eg3 finished Backend + Frontend cross communication 2023-05-05 00:00:15 +10:00

README.md

e.g. 3: Create an Ningx Reverse Proxy With Docker

How To Run Multiple Docker Containers Under One URL

Backend only

How to test it:

  1. Comment all other containers
  2. Run docker compose build & docker compose up
  3. Test by curl localhost:5000, should return {"version":"1.0.0"}

Frontend only

How to test it:

  1. Comment all other containers
  2. Run docker compose build & docker compose up
  3. Test by curl localhost, should return a html file (as /eg3/frontend/index.html)

Backend + Frontend

In this section, we test frontend container can cross-communicate with backend container.

Steps:

  1. Comment out proxy container
  2. frontend has port 80 exposed; backend has port 5000 exposed;
  3. Run docker compose build & docker compose up
  4. Create a network: docker network create mynetwork
  5. Add containers into network
    1. docker network connect mynetwork backend
    2. docker network connect mynetwork frontend
  6. Inspect mynetwork has containers docker network inspect mynetwork
  7. Test network:
    1. Enter frontend container: docker exec -it frontend /bin/sh
    2. Make a request to backend: curl http://backend:5000
    3. Get response {"version": "1.0.0"}