We have made use of the Docker client already in the previous section, but we need to go a bit deeper into the options that the Docker CLI can offer. My favorite way of learning is through experimentation, and what we are going to be doing through this section is building concepts from top to bottom (more decomposing, than building), so I advise you to read the full section in the order without skipping parts, as the latter examples will be based on the previous ones.
If you have dug into Docker a bit before, you can see that the commands are quite verbose and not as intuitive as you might think. The most common use case is the following combination:
docker run -i -t <docker-image>
This command basically does one simple thing: it runs a container in the interactive mode and allocates
pseudo-tty. This allows us to interact with the container executing the commands (not on every image, but it is true for all the base images of Linux distributions). Let's see what that means...