Exploring Docker Part1 – containers and images

Share This:

First stetps with Docker

Distribution: OpenSuse

Installing Docker:

Docker is built on top of LXC. Like with any container technology, as far as the program is concerned, it has its own file system, storage, CPU, RAM, and so on. The key difference between containers and VMs is that while the hypervisor abstracts an entire device, containers just abstract the operating system kernel.

An instance of an image is called container. Images have set of layers/containers. When the image is started, container of this image is started. This way there are multiple containers of the same image running concurrently.

Useful URLs:

https://docs.docker.com/userguide/

https://www.docker.com/tryit/

https://coreos.com/docs/launching-containers/building/getting-started-with-docker/

To find out available images: (this is just a tiny snapshot of the repository)

Let’s pull busybox

To test we can simple run echo command on busybox.

To get a list of all images pulled from the repo,

Let’s pull full fat cents image, you’ll do that only for testing purposes, in general the more lightweight the image the better.

We can run commands on the image, let’s install wget

When that command was run a container has been created, using docker ps –a , we can find out the container ID and then commit that change.

Let’s run wget on centos “where we were installing it”:

Error message is correct. Container needs to be now committed.

If we run the same command on our new centos/extras:

Also with to mention relation between containers and images and their dependencies.

you can check container list:

Stop it:

And remove:

Obviously your container ID’s will differ from mine (plus I changed images throughout the guide so don;t panic if you’ve spotted any inconsistencies.

End of very brief exploration of Docker. Next topic I will try to see port exposing / binding to docker as well as writing some simple docker files.

Leave a comment

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload the CAPTCHA.