DevGang
Авторизоваться

Учебное пособие по Docker - понимание Dockerfile

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

Мы можем использовать готовые изображения, такие как Postgres. Тем не менее, мы должны создавать образы для наших основных сервисов. Чтобы поместить это в контейнер, мы должны создать Dockerfile. Благодаря его простоте мы можем начать создавать ваши изображения с помощью нескольких команд.

Основные команды

Следующие команды являются основными компонентами для создания изображения.

FROM указывает базовому образу запустить процесс. Например) linux-alpine.

RUN и CMD сообщают командам о выполнении.

Разница в том, что RUN будет выполняться при создании образа. CMD будет выполняться по умолчанию, когда мы запустим созданный образ.

ADD копирует файлы из источника в пункт назначения внутри контейнера.

ENV задает переменные среды.

Переменные ARG доступны только при создании изображения.

EXPOSE сообщает контейнеру Docker прослушивать определенные порты.

WORKDIR задает рабочий каталог для команд типа RUN

Выпекание изображения

Теперь, когда вы понимаете основные команды, давайте рассмотрим следующую.

# syntax=docker/dockerfile:1
FROM node:18-alpine
WORKDIR /app
COPY . .
RUN yarn install --production
CMD ["node", "src/index.js"]
EXPOSE 3000

С помощью узла базового изображения он скопирует все из /app в /app. Затем он запустит yarn install для зависимостей. Как только он завершит установку. Процесс завершается.

Совет: CMD и EXPOSE будут запущены при запуске контейнера на основе этого образа.

Чтобы создать изображение, запустите

docker build -t first-try.

Это позволит создать образ. Если вы передадите ., Docker будет искать Dockerfile в текущем каталоге. После создания изображения он пометит изображение, которое вы передаете. В этом случае мы помечаем это как "first-try".

Совет: тег не требуется. Это больше для удобочитаемой этикетки.

Запуск контейнера

Как только мы запечем образ Docker, мы сможем запустить контейнер. Запуск,

docker run -d first-try
Совет: -d — это опция для автономного режима. Если вы передадите этот параметр, Docker будет работать в фоновом режиме.

Чтобы увидеть статус вашего контейнера, запустите docker ps.

Теперь вы должны быть в состоянии создать образ и запускать контейнеры с вашим изображением. Что, если нам нужно запустить более сложное программное обеспечение? Что, если у него есть база данных или кэш? Docker предоставляет инструмент docker compose для запуска многоконтейнерной кодовой базы.

#Начинающим #Docker
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

В этом месте могла бы быть ваша реклама

Разместить рекламу