Docker ports
When running web applications inside a container, it is quite common that we will need to expose some ports to the outside world. By default, a Docker container is completely isolated, and if you start a server running on port 8080
inside your container unless you explicitly specify that port is accessible from the outside, it will not be accessible.
Mapping ports is a good thing from a security perspective as we are operating on a principle of no trust. It is also effortless to expose these ports. Using one of the examples we created in Chapter 1, Introduction to Microservices, let's see just how easy this is.
Move to the folder where you checked out the sample code, and run the following Docker command:
$ docker run -it --rm -v $(pwd):/src -p 8080:8080 -w /src golang:alpine /bin/sh
The -w
flag we are passing is to set the working directory that means that any command we run in the container will be run inside this folder. When we start the shell, you will see that rather than...