Рубрики
Uncategorized

Докер — контейнеры и изображения.

Давайте перейдем к нашей серии Docker, но до этого, если вы еще не читали предыдущие 2 статьи, то … Помечено с докером, дежоптом, начинающим, информатикой.

Давайте перейдем к нашей серии Docker, но до этого, если вы еще не прочитали предыдущие 2 статьи, пожалуйста, пойдите и дайте им чтение, я уверяю вас, что вам понравится.

Докер — Базовое введение.

Пратик Мишра · 15 · 3 мин прочитан

Докерный двигатель — глубокое погружение в докер.

Пратик Мишра · 15 апреля · 5 мин прочитал

Хорошо, теперь давайте сначала поговорим о образах, как то, что такое документы? Изображения — это не что иное, как прототип для вашего приложения со всеми зависимостями и другими вещами, определенными внутри него. Короче говоря, вы можете подумать о изображениях в качестве класса и контейнера в качестве объекта этого класса. Вы можете проверить различные предварительно построенные изображения на Docker Hub. Docker Hub — это реестр Docker, где вы можете загружать и загружать фотографии. Примечание. Только официальные изображения могут быть найдены непосредственно на Docker Hub, но что, если вы хотите получить изображения из другого доверенного пользователя (пожалуйста, загружайте только официальные изображения или от пользователя, которому вы доверяете, вы не хотите создавать проблемы для вашей машины) Тогда вы можете найти свои изображения здесь: организация/репозиторий/изображение: тег, как Docker.io/pratik6217/covid-webapp:latest. Это мой репозиторий на Docker Hub). Теперь, как я уже говорил ранее на предыдущих постах, которые DockerFile содержит инструкции по созданию вашего образа докера. Итак, давайте посмотрим некоторые из инструкций прямо сейчас: вот простая докерафила:

# The base os Image for our application.
FROM ubuntu:latest

# Updating all it's packages.
RUN apt-get update && apt-get upgrade
RUN apt-get install python3 && apt-get install python3-pip

# Making a directory in the container for our project files.
RUN mkdir project
# Copying the files over from our machine on to the container.
COPY ./project:./project
# Setting the working directory to our projects directory.
WORKDIR ./project

# Installing Python requirments (modules) used.
RUN pip3 install -r requirements.txt

EXPOSE 8501
CMD streamlit run test.py

Давайте сломаемся тем, что именно происходит здесь, сначала нам всегда нужна базовая ОС для нашего приложения, на которую наша приложение сидит. (Это легкие изображения ОС, в отличие от VM, которые содержат только необходимые файлы, которые заставляют их загружаться очень быстро). Итак, сначала мы упомянем, какое базовое изображение мы будем использовать использование с ключевым словом. Далее — инструкция по запуску, которую он используется для запуска команд в базовых изображениях Bash (Shell), чтобы обновить его и получать его для нашего использования. Далее мы установили Python3 и Pip, так как я развернул приложение на основе Python. Когда я сказал, что Docker Packs во всех необходимых файлах и зависимостях, поэтому мы копируем все наши файлы проекта с нашей локальной машины в контейнер. Затем у меня открытый порт 8501 контейнера Docker, так как StreamLit использует этот порт. Тогда окончательная часть определяет въездную точку для вашего приложения, так как вы запускаете свой контейнер, приложение начнет работать.

Теперь давайте построим это изображение: Синтаксис для создания изображений выглядит следующим образом:

# You can either use docker image build or docker build they are one and the same.
# docker build-keyword tag-name and then the loaction where the Dockerfile is.
docker build -t qrcode:latest .

Как вы можете увидеть с вышеуказанного видео наше изображение было успешно составлено, и мы готовы начать контейнер от него. Но прежде чем делать это, давайте проанализируем, что произошло, когда мы провели команду Docker Build, когда мы видели, когда мы запустили эту команду Docker Daemon, и он начал строить каждый этап один за другим по сцену, я имею в виду, когда вы запускаете команды в вашем документе Docker Docker Временный контейнер от него и запускает ваши команды в этом контейнере и за завершение этой задачи выходит и сохраняет преданные изменения. Теперь изображения не являются одним файлом, он состоит из нескольких слоев в нем, которые могут быть потеряны в правильном порядке, используя манифест (манифест — это не что иное, как оно состоит из метаданных, а также в список всех слоев и порядка, в котором они нужно быть сложенным). Также вы, возможно, заметили, что я использовал флаг -t вместе с командой сборки, это не что иное, как для указания тега (имя) на ваше изображение.

Теперь давайте запустим наше созданное изображение: Синтаксис для запуска контейнера выглядит следующим образом:

# You can either use docker container run or docker run they are one and the same command.
# docker run-keyword tags and at last the name of the image.
docker run -i -t -p 8501:8501 --name qrcode qrcode:latest

Как мы видим, я легко запустил контейнер от встроенного изображения в течение нескольких секунд, также обратите внимание, что я использовал несколько тегов с помощью команды Docker Run, давайте понять те один за другим. -Я флаг: Используется, чтобы указать, что мы хотим, чтобы наш контейнер был интерактивным, что мы хотим увидеть вывод нашего контейнера Docker на нашем локальном терминале. Таким образом, Docker в основном связывает терминал контейнеров с вашим локальным терминалом. Он стоит за интерактивным. -t flag: docker в себе не предоставляет терминал ей контейнеров сейчас, если вы хотите дать терминал к вашим контейнере Docker (причины могут быть много для этого Скажем, вы хотите изменить определенные вещи в вашем контейнере, чтобы вы легко делали те, кто использует терминал контейнеров) Вы можете использовать этот флаг. Он обозначает псевдо терминал. -P Флаг: Этот флаг используется для публикации портов на контейнера и связать эти порты нашего контейнера Docker с портами нашей локальной машины. См. В видео выше, я связал порт 8501 моего контейнера Docker в порт 8501 моей локальной машины. (Всегда помните порт слева — порт вашего локального компьютера, а тот, кто справа — это порт вашего контейнера Docker -P (локальный аппарат ->) 8501: 8501 (<- Контейнер докеров)) — Имейте флаг: используется для названия вашего контейнера, если не упомянут Docker, даст ему какое-то случайное имя.

Итак, именно здесь вы можете создавать свои собственные изображения и запустить контейнеры из них. Я знаю, что я не охватил каждую команду, и причина в том, что я сам не знаю каждую команду, и вам не нужно знать это либо, только что всякий раз, когда вы собираетесь использовать эти команды для вашего использования Вы можете просто посмотреть их на Официальный сайт Докера . Я знаю, что должно быть трудно понять все это в первый раз И я полностью понимаю, что, поскольку мне потребовалось много времени, чтобы привыкнуть ко всем этим, просто практикую все этими и однажды все это будет кусок торта для вас:)

Оригинал: «https://dev.to/pratik6217/docker-containers-images-43jc»