Ръководство за начинаещи за Docker - как да създадете първото си приложение за Docker

Вие сте разработчик и искате да започнете с Docker? Тази статия е създадена за вас.

След кратко въведение за това какво е Docker и защо да го използвате, ще можете да създадете първото си приложение с Docker.

Какво е Docker?

Docker е безплатен софтуер, разработен от Docker Inc. Той беше представен на широката публика на 13 март 2013 г. и от този ден стана задължителен в света на ИТ развитието.

Той позволява на потребителите да създават независими и изолирани среди за стартиране и разгръщане на неговите приложения. След това тези среди се наричат ​​контейнери.

Това ще позволи на разработчика да стартира контейнер на всяка машина.

Както можете да видите, с Docker вече няма проблеми със зависимостта или компилацията. Всичко, което трябва да направите, е да стартирате контейнера си и вашето приложение ще се стартира незабавно.

Но Docker виртуална машина ли е?

Ето един от най-задаваните въпроси за Docker. Отговорът е: всъщност не съвсем.

В началото може да изглежда като виртуална машина, но функционалността не е същата.

За разлика от Docker, виртуалната машина ще включва пълна операционна система. Той ще работи независимо и ще действа като компютър.

Docker ще споделя само ресурсите на хост машината, за да стартира нейните среди.

Защо да използвам Docker като разработчик?

Този инструмент наистина може да промени ежедневието на разработчика. За да отговоря най-добре на този въпрос, написах неизчерпателен списък с предимствата, които ще откриете:

  • Docker е бърз. За разлика от виртуалната машина, приложението ви може да стартира за няколко секунди и да спре също толкова бързо.
  • Docker е многоплатформен. Можете да стартирате контейнера си на всяка система.
  • Контейнерите могат да се изграждат и унищожават по-бързо от виртуална машина.
  • Няма повече трудности при настройването на вашата работна среда. След като вашият Docker бъде конфигуриран, никога повече няма да се налага да преинсталирате зависимостите си ръчно. Ако смените компютри или ако служител се присъедини към вашата компания, трябва само да им дадете вашата конфигурация.
  • Поддържате работното си пространство чисто, тъй като всяка от вашите среди ще бъде изолирана и можете да ги изтриете по всяко време, без да се засяга останалото.
  • Ще бъде по-лесно да разположите проекта си на сървъра си, за да го поставите онлайн.

Сега нека създадем първото ви приложение

След като вече знаете какво е Docker, е време да създадете първото си приложение!

Целта на този кратък урок е да създаде програма на Python, която показва изречение. Тази програма ще трябва да бъде стартирана чрез Dockerfile.

Ще видите, че не е много сложно, след като разберете процеса.

Забележка: Няма да е необходимо да инсталирате Python на вашия компютър. Средата на Docker ще съдържа Python, за да изпълни вашия код.

1. Инсталирайте Docker на вашата машина

За Ubuntu:

Първо актуализирайте пакетите си:

$ sudo apt update

След това инсталирайте докер с apt-get:

$ sudo apt install docker.io

И накрая, проверете дали Docker е инсталиран правилно:

$ sudo docker run hello-world
  • За MacOSX: можете да последвате тази връзка.
  • За Windows: можете да следвате тази връзка.

2. Създайте своя проект

За да създадете първото си приложение на Docker, ви каня да създадете папка на вашия компютър. Той трябва да съдържа следните два файла:

  • Файлmain.py “ (файл на python, който ще съдържа кода, който трябва да бъде изпълнен).
  • ФайлDockerfile “ (файл на Docker, който ще съдържа необходимите инструкции за създаване на среда).

Обикновено трябва да имате тази архитектура на папката:

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

3. Редактирайте файла Python

Можете да добавите следния код към файла ' main.py ':

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

Нищо изключително, но щом видите „ Docker е магия! ”, Показан във вашия терминал, ще разберете, че вашият Docker работи.

3. Редактирайте файла Docker

Някои теории: първото нещо, което трябва да направите, когато искате да създадете своя Dockerfile, е да се запитате какво искате да направите. Нашата цел тук е да стартираме Python код.

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.