Как стать автором
Обновить
0
Quadcode
Финтех-компания

Docker для самых маленьких

Время на прочтение3 мин
Количество просмотров18K
Автор оригинала: Dhravya Shah

Когда я только начинал работать с Docker, мне было очень сложно разобраться во всём. Но вам не нужно беспокоиться. Я помогу.

Docker — это превосходный инструмент, который просто нельзя игнорировать. Docker используется повсюду!

Итак, я собрал базовые вещи, которые нужно знать о Docker, в одном материале. Гарантирую — всё кратко и лаконично.

Я познакомлю вас с концептами: контейнерами и образами. А затем мы напишем собственный Dockerfile для контейнеризации простого приложения на Python.

Содержание

Что такое Docker

Docker — это способ контейнеризации приложений (помещения кода в коробки, которые могут работать самостоятельно). Контейнеры работают и ощущаются как виртуальные машины, но на самом деле виртуальными машинами не являются.

Контейнеры — это коробки в изолированной среде, поэтому они не зависят от устройства, на котором запущены.

Представляйте это так: есть пчела, которой нравится жить только внутри своих сот, и она не сможет работать, если будет жить в любом другом месте. Вы просто помещаете пчелу в коробку, который выглядит и функционирует точно так же, как её любимые соты. Это и есть контейнеризация.

Контейнеры создаются с использованием образов.

Docker-образы

Образы в Docker похожи на шаблоны — как в раскраске с наклейками. Другими словами, в образе содержится набор инструкций для создания контейнера. Он включает в себя операционную систему, приложения, файлы конфигурации и переменные.

Но как создавать эти образы (чтобы потом создавать контейнеры)? Это делается с помощью Dockerfiles.

Всё о Dockerfiles

Dockerfile — это текстовый документ, содержащий все команды, которые пользователь может вызвать в командной строке для сборки образа.

Давайте создадим Dockerfile вместе. 

Для начала скачайте Docker на своё устройство.

После этого напишем простое приложение на Flask и поместим его в контейнер. Вот пример приложения:

Несмотря на свою простоту, приложению много чего потребуется для запуска:

  • Python 3.9.

  • Flask (команда pip install flask).

  • Доступ к port 5000.

Некоторые программы могут запускаться только на определённых операционных системах — например, только на Windows или только на Linux.

Все эти проблемы решаются путем написания простого Dockerfile, который устанавливает для нас Docker-образ.

Итак, нам нужно создать файл с именем Dockerfile (без какого-либо расширения).

Пошаговая инструкция:

  • используйте FROM для использования базового образа ОС с установленным Python;

  • используйте RUN чтобы выполнить pip install flask;

  • используйте COPY для копирования файла app.py в контейнер;

  • используйте CMD для запуска "python app.py", когда контейнер запустится.

Вот и всё!

Создание образа и запуск контейнера

Теперь создайте Docker-образ с помощью команды docker build, а затем запустите образ с помощью команды docker run ..

Вы также можете использовать --tag, чтобы дать образу название и упростить его дальнейший запуск:

docker build --tag flask .
docker run --name flask -p 5000:5000 flask

Здесь --name — это имя запускаемого контейнера (который я назвал flask), а -p назначает порт Docker-контейнера на вашем компьютере, чтобы вы могли видеть своё приложение на localhost. Наконец, flask в названии — это имя образа, который будет запущен.

Дополнительные команды

Вот, в общем-то, и всё.

  • используйте команду docker ps, чтобы получить список запущенных контейнеров;

  • docker ps -a, чтобы получить список всех контейнеров;

  • docker images, чтобы получить список образов;

  • docker --help, чтобы получить список всех команд.

Попробуйте различные команды, они довольно понятные сами по себе. Официальная документация находится здесь.

Теги:
Хабы:
Всего голосов 24: ↑7 и ↓17-8
Комментарии5

Публикации

Информация

Сайт
jobs.quadcode.com
Дата регистрации
Численность
201–500 человек

Истории