Docker is a container-based software framework for automating deployment of applications. “Containers” are encapsulated, lightweight, and portable application modules. The major (intended) benefit of using a container is that your application will run consistently on and between any server, be it cloud or dedicated, or of varying operating systems.
First, you’ll follow a simple best practice: ensuring the list of available packages is up to date before installing anything new.
apt-get update
Let’s install Docker by installing the docker-io package:
apt-get -y install docker.io
Link and fix paths with the following two commands:
ln -sf /usr/bin/docker.io /usr/local/bin/docker
sed -i '$acomplete -F _docker docker' /etc/bash_completion.d/docker.io
Finally, and optionally, let’s configure Docker to start when the server boots:
update-rc.d docker.io defaults
Download a Docker Container
Let’s begin using Docker! Download the fedora Docker image:
docker pull ubuntu
Run a Docker Container
Now, to setup a basic ubuntu container with a bash shell, we just run one command. docker run will run a command in a new container, -i attaches stdin and stdout, -t allocates a tty, and we’re using the standard ubuntu container.
docker run -i -t ubuntu /bin/bash
That’s it! You’re now using a bash shell inside of a ubuntu docker container.
To disconnect, or detach, from the shell without exiting use the escape sequence Ctrl-p + Ctrl-q.
There are many community containers already available, which can be found through a search. In the command below I am searching for the keyword debian:
docker search debian