local-nginx-tutorial/eg3/README.md

35 lines
1.3 KiB
Markdown

# e.g. 3: Create an Ningx Reverse Proxy With Docker
[How To Run Multiple Docker Containers Under One URL](https://codingwithmanny.medium.com/create-an-nginx-reverse-proxy-with-docker-a1c0aa9078f1)
## 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"}`