En begyndervejledning til Docker - hvordan du opretter din første Docker-applikation

Du er en udvikler, og du vil starte med Docker? Denne artikel er lavet til dig.

Efter en kort introduktion om, hvad Docker er, og hvorfor du bruger det, vil du være i stand til at oprette din første applikation med Docker.

Hvad er Docker?

Docker er en gratis software udviklet af Docker Inc. Den blev præsenteret for offentligheden den 13. marts 2013 og er siden den dag blevet et must i verdenen af ​​it-udvikling.

Det giver brugerne mulighed for at oprette uafhængige og isolerede miljøer for at starte og implementere dets applikationer. Disse miljøer kaldes derefter containere.

Dette giver udvikleren mulighed for at køre en container på enhver maskine.

Som du kan se, er der ikke mere afhængighed eller kompileringsproblemer med Docker. Alt du skal gøre er at starte din container, og din applikation starter straks.

Men er Docker en virtuel maskine?

Her er et af de mest stillede spørgsmål om Docker. Svaret er: faktisk ikke helt.

Det kan se ud som en virtuel maskine i starten, men funktionaliteten er ikke den samme.

I modsætning til Docker inkluderer en virtuel maskine et komplet operativsystem. Det fungerer uafhængigt og fungerer som en computer.

Docker deler kun ressourcerne på værtsmaskinen for at køre sine miljøer.

Hvorfor bruge Docker som udvikler?

Dette værktøj kan virkelig ændre en udviklers daglige liv. For bedst at kunne besvare dette spørgsmål har jeg skrevet en ikke-udtømmende liste over de fordele, du finder:

  • Docker er hurtig. I modsætning til en virtuel maskine kan din applikation starte om få sekunder og stoppe lige så hurtigt.
  • Docker er multi-platform. Du kan starte din container på ethvert system.
  • Beholdere kan bygges og destrueres hurtigere end en virtuel maskine.
  • Ikke flere vanskeligheder med at oprette dit arbejdsmiljø. Når din Docker er konfigureret, skal du aldrig geninstallere dine afhængigheder manuelt igen. Hvis du skifter computer, eller hvis en medarbejder slutter sig til din virksomhed, skal du kun give dem din konfiguration.
  • Du holder dit arbejdsområde rent, da hvert af dine miljøer vil blive isoleret, og du kan slette dem når som helst uden at påvirke resten.
  • Det bliver lettere at implementere dit projekt på din server for at sætte det online.

Lad os nu oprette din første applikation

Nu hvor du ved hvad Docker er, er det tid til at oprette din første applikation!

Formålet med denne korte vejledning er at oprette et Python-program, der viser en sætning. Dette program skal lanceres via en Dockerfile.

Du vil se, det er ikke særlig kompliceret, når du først har forstået processen.

Bemærk: Du behøver ikke at installere Python på din computer. Det vil være op til Docker-miljøet at indeholde Python for at udføre din kode.

1. Installer Docker på din maskine

Til Ubuntu:

Opdater først dine pakker:

$ sudo apt update

Dernæst skal du installere docker med apt-get:

$ sudo apt install docker.io

Endelig skal du kontrollere, at Docker er installeret korrekt:

$ sudo docker run hello-world
  • For MacOSX: du kan følge dette link.
  • For Windows: Du kan følge dette link.

2. Opret dit projekt

For at oprette dit første Docker-program opfordrer jeg dig til at oprette en mappe på din computer. Den skal indeholde følgende to filer:

  • En ' main.py ' fil (python-fil, der indeholder koden, der skal udføres).
  • En ' Dockerfile ' -fil (Docker-fil, der indeholder de nødvendige instruktioner til at skabe miljøet).

Normalt skal du have denne mappearkitektur:

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

3. Rediger Python-filen

Du kan tilføje følgende kode til ' main.py ' filen:

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

Intet usædvanligt, men når du først ser “ Docker er magi! ”Vises i din terminal vil du vide, at din Docker fungerer.

3. Rediger Docker-filen

Noget teori: Den første ting at gøre, når du vil oprette din Dockerfile, er at spørge dig selv, hvad du vil gøre. Vores mål her er at starte Python-kode.

For at gøre dette skal vores Docker indeholde alle de afhængigheder, der er nødvendige for at starte Python. En linux (Ubuntu) med Python installeret på den skal være nok.

Det første skridt, du skal tage, når du opretter en Docker-fil, er at få adgang til DockerHub-webstedet. Dette websted indeholder mange foruddesignede billeder for at spare tid (for eksempel: alle billeder til linux eller kodesprog).

I vores tilfælde skriver vi 'Python' i søgefeltet. Det første resultat er det officielle billede oprettet for at udføre Python. Perfekt, vi bruger det!

# 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. Opret Docker-billedet

Når din kode er klar, og Dockerfile er skrevet, skal du blot oprette dit billede, så det indeholder din applikation.

$ docker build -t python-test . 

Indstillingen ' -t ' giver dig mulighed for at definere navnet på dit billede. I vores tilfælde har vi valgt ' python-test ', men du kan sætte det, du ønsker.

5. Kør Docker-billedet

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.
  • Tilmeld dig nyhedsbrevet, og få de nyeste artikler, kurser, tutorials, tips, bøger, motivation og andet eksklusivt indhold.