HTTP rewriter for docker

I want to run a docker container, and somehow intercept/modify HTTP responses in the host. That means, basically take every HTTP response coming out of the container, and modify it before sending it back to the user. Is there a standard way to do this in docker?

  • Building Play App as Docker image, remapping port
  • Dockerize stack: MapServer - AngularJs web app - Lumen API - PostgreSQL
  • How to connect docker containers in separate deployments on the same host machine using docker-compose?
  • Google Container Engine Expose Service “Site Cannot Be Reached”
  • How does Docker create environment variables in the container?
  • Docker CLI env var value override not respected by container on startup
  • docker: Says connection refused when attempting to connect to a published port
  • How to create a MongoDB docker and save the DB's configuration?
  • Cannot change Docker image directory
  • How to completely reinstall Docker on Windows
  • Can't interact with java process when attaching
  • View Tensorboard via Chorme on Windows
  • 2 Solutions collect form web for “HTTP rewriter for docker”

    What you could do is create a reverse proxy.

    All communication in and out of the docker container is done indirectly, trough the proxy. So clients connect to the reverse proxy, the proxy requests the information from the process inside the container. The proxy will also handle the response to the client.

    If you simply want to change some headers, a default setup of an apache reverse proxy might be enough.
    See this link on how to set up a reverse proxy using apache:

    Other proxy technologies you might consider:
    – Nginx
    – HAProxy

    If you want to do more than just changing headers (please fill me in!) than you might have to write some code to handle that for you.

    Good luck! And let me know if you need more help!

    Something like mitmproxy. Docker does not change the approach.

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.