Ein Leitfaden für Anfänger zu Docker - wie Sie Ihre erste Docker-Anwendung erstellen

Sie sind Entwickler und möchten mit Docker beginnen? Dieser Artikel ist für Sie gemacht.

Nach einer kurzen Einführung in Docker und dessen Verwendung können Sie Ihre erste Anwendung mit Docker erstellen.

Was ist Docker?

Docker ist eine freie Software, die von Docker Inc. entwickelt wurde. Sie wurde am 13. März 2013 der Öffentlichkeit vorgestellt und ist seit diesem Tag ein Muss in der Welt der IT-Entwicklung.

Benutzer können unabhängige und isolierte Umgebungen erstellen, um ihre Anwendungen zu starten und bereitzustellen. Diese Umgebungen werden dann als Container bezeichnet.

Dadurch kann der Entwickler einen Container auf einem beliebigen Computer ausführen.

Wie Sie sehen, gibt es mit Docker keine Abhängigkeits- oder Kompilierungsprobleme mehr. Sie müssen lediglich Ihren Container starten und Ihre Anwendung wird sofort gestartet.

Aber ist Docker eine virtuelle Maschine?

Hier ist eine der am häufigsten gestellten Fragen zu Docker. Die Antwort lautet: eigentlich nicht ganz.

Es mag zunächst wie eine virtuelle Maschine aussehen, aber die Funktionalität ist nicht dieselbe.

Im Gegensatz zu Docker enthält eine virtuelle Maschine ein vollständiges Betriebssystem. Es wird unabhängig arbeiten und sich wie ein Computer verhalten.

Docker teilt nur die Ressourcen des Host-Computers, um seine Umgebungen auszuführen.

Warum Docker als Entwickler verwenden?

Dieses Tool kann das tägliche Leben eines Entwicklers wirklich verändern. Um diese Frage bestmöglich zu beantworten, habe ich eine nicht erschöpfende Liste der Vorteile verfasst, die Sie finden werden:

  • Docker ist schnell. Im Gegensatz zu einer virtuellen Maschine kann Ihre Anwendung in wenigen Sekunden gestartet und genauso schnell gestoppt werden.
  • Docker ist plattformübergreifend. Sie können Ihren Container auf jedem System starten.
  • Container können schneller als eine virtuelle Maschine erstellt und zerstört werden.
  • Keine Schwierigkeiten mehr beim Einrichten Ihres Arbeitsumfelds. Sobald Ihr Docker konfiguriert ist, müssen Sie Ihre Abhängigkeiten nie wieder manuell neu installieren. Wenn Sie den Computer wechseln oder ein Mitarbeiter Ihrem Unternehmen beitritt, müssen Sie ihm nur Ihre Konfiguration geben.
  • Sie halten Ihren Arbeitsbereich sauber, da jede Ihrer Umgebungen isoliert ist und Sie sie jederzeit löschen können, ohne den Rest zu beeinträchtigen.
  • Es ist einfacher, Ihr Projekt auf Ihrem Server bereitzustellen, um es online zu stellen.

Jetzt erstellen wir Ihre erste Anwendung

Jetzt, da Sie wissen, was Docker ist, ist es Zeit, Ihre erste Anwendung zu erstellen!

Der Zweck dieses kurzen Tutorials besteht darin, ein Python-Programm zu erstellen, das einen Satz anzeigt. Dieses Programm muss über eine Docker-Datei gestartet werden.

Sie werden sehen, es ist nicht sehr kompliziert, wenn Sie den Prozess verstanden haben.

Hinweis: Sie müssen Python nicht auf Ihrem Computer installieren. Es liegt an der Docker-Umgebung, Python zu enthalten, um Ihren Code auszuführen.

1. Installieren Sie Docker auf Ihrem Computer

Für Ubuntu:

Aktualisieren Sie zunächst Ihre Pakete:

$ sudo apt update

Installieren Sie als Nächstes Docker mit apt-get:

$ sudo apt install docker.io

Stellen Sie schließlich sicher, dass Docker korrekt installiert ist:

$ sudo docker run hello-world
  • Für MacOSX: Sie können diesem Link folgen.
  • Für Windows: Sie können diesem Link folgen.

2. Erstellen Sie Ihr Projekt

Um Ihre erste Docker-Anwendung zu erstellen, lade ich Sie ein, einen Ordner auf Ihrem Computer zu erstellen. Es muss die folgenden zwei Dateien enthalten:

  • Eine ' main.py' -Datei (Python-Datei, die den auszuführenden Code enthält).
  • Eine ' Dockerfile' -Datei (Docker-Datei, die die erforderlichen Anweisungen zum Erstellen der Umgebung enthält).

Normalerweise sollten Sie diese Ordnerarchitektur haben:

. ├── Dockerfile └── main.py 0 directories, 2 files

3. Bearbeiten Sie die Python-Datei

Sie können der Datei ' main.py ' den folgenden Code hinzufügen :

#!/usr/bin/env python3 print("Docker is magic!")

Nichts Außergewöhnliches, aber sobald Sie sehen, „ Docker ist Magie! ”In Ihrem Terminal angezeigt, wissen Sie, dass Ihr Docker funktioniert.

3. Bearbeiten Sie die Docker-Datei

Eine Theorie: Wenn Sie Ihre Docker-Datei erstellen möchten, müssen Sie sich zunächst fragen, was Sie tun möchten. Unser Ziel hier ist es, Python-Code zu starten.

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!

# A dockerfile must always start by importing the base image. # We use the keyword 'FROM' to do that. # In our example, we want import the python image. # So we write 'python' for the image name and 'latest' for the version. FROM python:latest # In order to launch our python code, we must import it into our image. # We use the keyword 'COPY' to do that. # The first parameter 'main.py' is the name of the file on the host. # The second parameter '/' is the path where to put the file on the image. # Here we put the file at the image root folder. COPY main.py / # We need to define the command to launch when we are going to run the image. # We use the keyword 'CMD' to do that. # The following command will execute "python ./main.py". CMD [ "python", "./main.py" ]

4. Create the Docker image

Once 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 image

Once the image is created, your code is ready to be launched.

$ docker run python-test

You 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.

Code is available

If you want to retrieve the complete code to discover it easily or to execute it, I have put it at your disposal on my GitHub.

-> GitHub: Docker First Application example

Useful commands for Docker

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

  • List your images.
$ docker image ls
  • Delete 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 -a
  • Stop 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]

What’s next?

After all your feedback, I decided to write the next part of this beginner’s guide. In this article, you will discover how to use docker-compose to create your first client/server-side application with Docker.

-> A beginner’s guide to Docker — how to create a client/server side with docker-compose

Conclusion

You can refer to this post every time you need a simple and concrete example on how to create your first Docker application. If you have any questions or feedback, feel free to ask.

Don't miss my content by following me on Twitter and Instagram.

You can find other articles like this on my website: herewecode.io.

Want more?

  • Each week get a motivational quote with some advice, a short tutorial into a few slides, and one developer's picture on Instagram.
  • Sign-up for the newsletter and get the latest articles, courses, tutorials, tips, books, motivation, and other exclusive content.