A beginner’s guide to Docker — how to create your first Docker application

This article is made for you.

Gaël ThomasBlockedUnblockFollowFollowingApr 2Copyright to Docker blogAfter a short introduction on what Docker is and why to use it, you will be able to create your first application with Docker.

What is Docker?Docker is a free software developed by Docker Inc.

It was presented to the general public on March 13, 2013 and has become since that day a must in the world of IT development.

It allows users to create independent and isolated environments to launch and deploy its applications.

These environments are then called containers.

This will let the developer run a container on any machine.

As you can see, with Docker, there are no more dependency or compilation problems.

All you have to do is launch your container and your application will launch immediately.

But, is Docker a virtual machine?Here is one of the most asked question about Docker.

The answer is: actually, not quite.

It may look like a virtual machine at first but the functionality is not the same.

Unlike Docker, a virtual machine will include a complete operating system.

It will be independent and act like a computer.

Docker will only share the resources of the host machine in order to run its environments.

Docker VS Virtual machines (Copyright to Docker blog)Why use Docker as a developer?This tool can really change a developer’s daily life.

In order to best answer this question, I have written a non-exhaustive list of the benefits you will find:Docker is fast.

Unlike a virtual machine, your application can start in a few seconds and stop just as quickly.

Docker is multi-platform.

You can launch your container on any system.

Containers can be built and destroyed faster than a virtual machine.

No more difficulties setting up your working environment.

Once your Docker is configured, you will never have to reinstall your dependencies manually again.

If you change computers or if an employee joins your company, you only have to give them your configuration.

You keep your work-space clean, as each of your environments will be isolated and you can delete them at any time without impacting the rest.

It will be easier to deploy your project on your server in order to put it online.

Now let’s create your first applicationNow that you know what Docker is, it’s time to create your first application!The purpose of this short tutorial is to create a Python program that displays a sentence.

This program will have to be launched through a Dockerfile.

You will see, it’s not very complicated once you understand the process.

Note: You will not need to install Python on your computer.

It will be up to the Docker environment to contain Python in order to execute your code.

1.

Install Docker on your machineFor Ubuntu:First, update your packages:$ sudo apt updateNext, install docker with apt-get:$ sudo apt-get install docker-ceFinally, verify that Docker is installed correctly:$ sudo docker run hello-worldFor MacOSX: you can follow this link.

For Windows: you can follow this link.

2.

Create your projectIn order to create your first Docker application, I invite you to create a folder on your computer.

It must contain the following two files:A ‘main.

py’ file (python file that will contain the code to be executed).

A ‘Dockerfile’ file (Docker file that will contain the necessary instructions to create the environment).

Normally you should have this folder architecture:.

├── Dockerfile└── main.

py0 directories, 2 files3.

Edit the Python fileYou can add the following code to the ‘main.

py’ file:Nothing exceptional, but once you see “Docker is magic!” displayed in your terminal you will know that your Docker is working.

3.

Edit the Docker fileSome theory: the first thing to do when you want to create your Dockerfile is to ask yourself what you want to do.

Our goal here is to launch Python code.

To do this, our Docker must contain all the dependencies necessary to launch Python.

A linux (Ubuntu) with Python installed on it should be enough.

The first step to take when you create a Docker file is to access the DockerHub website.

This site contains many pre-designed images to save your time (for example: all images for linux or code languages).

In our case, we will type ‘Python’ in the search bar.

The first result is the official image created to execute Python.

Perfect, we’ll use it!4.

Create the Docker imageOnce your code is ready and the Dockerfile is written, all you have to do is create your image to contain your application.

$ docker build -t python-test .

The ’-t’ option allows you to define the name of your image.

In our case we have chosen ’python-test’ but you can put what you want.

5.

Run the Docker imageOnce the image is created, your code is ready to be launched.

$ docker run python-testYou need to put the name of your image after ‘docker run’.

There you go, that’s it.

You should normally see “Docker is magic!” displayed in your terminal.

Useful commands for DockerBefore I leave you, I have prepared a list of commands that may be useful to you on Docker.

List your images.

$ docker image lsDelete a specific image.

$ docker image rm [image name]Delete all existing images.

$ docker image rm $(docker images -a -q)List all existing containers (running and not running).

$ docker ps -aStop a specific container.

$ docker stop [container name]Stop all running containers.

$ docker stop $(docker ps -a -q)Delete a specific container (only if stopped).

$ docker rm [container name]Delete all containers (only if stopped).

$ docker rm $(docker ps -a -q)Display logs of a container.

$ docker logs [container name]Before you go…Thanks for reading!.I regularly share articles on the Medium platform, you can check out my profile.

Do not hesitate to give me some feedback to improve my future articles in the comments below.

.. More details

Leave a Reply