I read this thread when it came out, but I don’t have the time now to try to figure out what was on display here. But as a programmer, I can answer these two specific questions.
Docker Image
Not terribly long ago, when you needed to run a system on a server, there was a great deal of setup to do. Perhaps you needed a specific programming language not included with the operating system. Perhaps you needed an older version of a database tool. Perhaps you wanted to run a web server, or an email server. Perhaps you had all this plus dozens more tools you needed to configure. Setting up a new server might take days, even weeks.
Containers came along to automate all that. A container combines all these things: languages, databases, tools, servers, etc., into a single unit that can be deployed all at once, along with your application’s code.
Docker is simply the best-known of these container technologies. A Docker image contains all the common core things that you might need, needing only your own code to run. What might have taken a few days to cobble together, is right there at your fingertips.
Reverse proxy
A proxy server is a machine on a local network that can forward non-local requests out to the wider internet. An organization might use one to log requests, to block access to forbidden locations, and for many other purposes.
A reverse proxy server does the converse job. It takes a request from the internet, validates it, transforms it, and passes it on to a server that knows how to handle the request.
If my organization handles a request to http://tiddly.example.com/req/123
, it could be fed first to a reverse proxy, which says, “Oh, you want tiddly
? I have six servers set up to handle tiddly
, and it looks like #4 is ready. But first, let me see if I have req/123
in my cache. Well, sadly, that existing cache entry is expired, so let’s call #4, get the response, stuff it back in the cache for next time, tack on some security information, and compress the response. There, now it’s ready, and I’m passing it back to you.”
In short a (forward) proxy server spreads requests from a private network to the public internet; a reverse proxy server spreads requests from the public internet to nodes of a private network.
I hope these are relatively clear, and I’m not still too far buried in programmer-speak. Feel free to ask for clarifications.
And again, I don’t think this really gets at the heart of the question, but perhaps it helps a little.