Docker networking
Most applications these days do not run in isolation but need to communicate with other systems over the network. If we want to run a website, web service, database, or a cache server inside a Docker container, then we need to understand at least the basics of Docker networking.
Running services
Let's start with a simple example, and run a Tomcat server directly from Docker Hub:
$ docker run -d tomcat
Tomcat is a web application server whose user interface can be accessed by the port 8080
. Therefore, if we installed Tomcat on our machine, we could browse it at http://localhost:8080
.
In our case, however, Tomcat is running inside the Docker container. We started it the same way we did with the first Hello World
example. We can see it's running:
$ docker ps CONTAINER ID IMAGE COMMAND STATUS PORTS NAMES d51ad8634fac tomcat "catalina.sh run" Up About a minute 8080/tcp jovial_kare
Since it's run as a daemon (with the -d
option), we don't see the logs in the...