• 0 Posts
  • 3 Comments
Joined 2 years ago
cake
Cake day: June 26th, 2023

help-circle
  • Course, feel free to DM if you have questions.

    This is a common setup. Have a firewall block all traffic. Use docker to punch a hole through the firewall and expose only 443 to the reverse proxy. Now any container can be routed through the reverse proxy as long as the container is on the same docker network.

    If you define no network, the containers are put into a default bridge network, use docker inspect to see the container ips.

    Here is an example of how to define a custom docker network called “proxy_net” and statically set each container ip.

    networks:
      proxy_net:
        driver: bridge
        ipam:
          config:
            - subnet: 172.28.0.0/16
    
    services:
      app1:
        image: nginx:latest
        container_name: app1
        networks:
          proxy_net:
            ipv4_address: 172.28.0.10
        ports:
          - "8080:80"
    
      whoami:
        image: containous/whoami:latest
        container_name: whoami
        networks:
          proxy_net:
            ipv4_address: 172.28.0.11
    

    Notice how “who am I” is not exposed at all. The nginx container can now serve the whoami container with the proper config, pointing at 172.28.0.11.


  • Well if your reverse proxy is also inside of a container, you dont need to expose the port at all. As long as the containers are in the same docker network then they can communicate.

    If your reverse proxy is not inside a docker container, then yes this method would work to prevent clients from connecting to a docker container.