[No Audio]
Everyone gets tired of command lines and terminal
screens at some point in their life. That's where
we need GUI applications. Docker provides a
feature rich GUI with its Enterprise Edition, and
it is called UCP. But since this course is free,
and it only covers content, which is free to
access and set up, we will use a third-party GUI
for Docker called Kitematic.
[No Audio]
Kitematic is a well made open source GUI application for Docker, which
supports single host Docker instances at the
moment. Without further talk, let's jump straight
to its GitHub page where we can download its binaries.
[No Audio]
Go to your favorite web browser and
navigate to this address.
As you can see, Kitematic is available for all popular platforms like
Windows and Linux. We will download binaries for
Ubuntu Linux, the current version of Kitematic
is 0.17.3 which might have been updated
by the time you're watching the course.
Once the downloading process is complete, let's head to
Downloads directory on our host machine.
Let's extract it here. As we go deeper, we will see a
tar inside the tar so let's extract that too.
Finally, we have a tar file called data which
needs to be extracted as well.
I know too much extractions right.
Inside data, we have directory
called bin which contains the executable called kitematic.
Simply double click on it and kitematic GUI
will be up and running.
[No Audio]
Just to give you a brief understanding, Kitematic talks to both
Docker Host and Docker Hub. The GUI is pretty
simple and interactive. It is easy to predict at
this stage that these are the repos on Docker Hub
along with their pulls. But let's not go too fast.
This homepage has a lot to offer.
First of all, we have the LOGIN option which allows us to link our
Docker Hub account to Kitematic. Then we have a
big search bar for Docker images, which are
fetched from Docker Hub. Then, we have recommended
or featured images. On the right side, we have
tabs like My Repos and My Images. My Repos show
repos on your current Docker Hub account, it will
show nothing since we haven't synced them yet.
In other words, this is just a plain GUI with no
Docker Hub account linked to it yet.
My Images will show images available on our local host
machine. If you notice, these images from various
modules do look quite familiar.
On the lower end of the left side, we have a small gear icon, which
represents app settings. You can customize them
the way you want. We will keep them as they are.
Then we have a chat tool, which we don't need at
this point of time. And finally, we have a link to
Docker CLI. Clicking this will open a terminal
window for us to use Docker commands.
Let's close it.
We have a list of recommended images by Docker
on our screen, and we can create a container based
on any image available here with a single click.
Isn't it amazing? Let's check out how we can do it.
We will select hello-world-nginx image, which
is a lightweighted customized nginx image to
demonstrate features of Kitematic.
At the bottom of hello-world-nginx, we have the number of
downloads and likes for the image on the left side
and a create button on the right side.
Let's click on the CREATE button to create and run a container
based on this image.
And there you go, Docker is
connecting to Docker Hub to download the image
hello-world-nginx, because it is not available on our local registry.
It might take some time to download the image.
After the process completes,
our container will be created successfully.
You must have noticed the CONTAINER LOGS screen here.
It will show log outputs of the current running
containers. We have 0 number of logs for hello-world
container for now, because it has just been created.
You might as well remember the difference
between Created and Running states of a container.
When the container is created, it won't
have any logs. But as soon as it gets running,
we'll have some logs of our container.
On the left side of the container log screen,
there is a list of running and stopped containers.
It even includes those containers which are not started by Kitematic.
We do do not have any pre running
or stopped containers at this point of time.
So the only available container is hello-world-nginx.
We also have the volume section at the
bottom right corner of the screen. It is the
volume website_files, which is mount on our
running container hello world.
We can enable the volume in order to edit the file stored in it.
Let's click on Enable Volumes and see what happens.
We have been directed to the path
Home/Documents/Kitematic/hello-world-nginx
on our local machine.
[No Audio]
Kitematic has exposed
the containers volume as a directory on our local
machine, which allows the users to access it easily.
As we access the volume website_files,
we can see the default index.html.
One important thing to notice here is, as soon as we
enabled volumes for editing, the nginx containers
stopped running. It was removed and restarted with
a new volume flag to reflect any changes made in
the volumes. We have not made any changes in the volume here.
Above volumes on the top right
corner, we have WEB PREVIEW section. It will allow
us to see the containers result on our web browser.
Let's maximize the web preview to have a good look at it.
hello-world-nginx container is
running on localhost port 32769. Let's get back to
Kitematic and verify the results using Docker CLI on its terminal.
Type docker ps -a
to list out all of the running and stopped containers.
The result reassures that hello-world-nginx container
is running successfully on the same port.
Let's return to Kitematic and stop the container.
As we can see, there are multiple icons available
exactly above the container log section. We have
STOP, RESTART, EXEC and DOCS icons here.
And as their name suggests, STOP and RESTART icons are
used to stop and restart containers. EXEC icon is
used to execute a command on a running container.
DOCS icon will direct us to Docker documentation.
Our container has been stopped.
Navigate to the left side of the screen where all containers are listed.
We want to delete this container.
So click on the cross icon to remove the container.
A dialog box will pop up to ask your confirmation
about deletion process. Press Remove and our
container has been deleted and we are back to homescreen.
We can also search for a particular
image here, it is similar to Docker search command.
Just type the name of the Docker Image that you
want to search.We will search for the image of Docker
registry itself, so we'll type registry and press enter.
We got all the Docker Images which include
registry in their names. The first result is the
official Docker registry image with 419 million
downloads. Just like hello-world-nginx, we can play
around with this or any other images as well.
So this was Kitematic, the Docker GUI. You can play
around with it further and you can even link your
own Docker Hub account to use it interactively.