Dockerfile

Содержание
Введение
FROM
LABEL
RUN
COPY
ENTRYPOINT
WORKDIR
EXPOSE
ENV
VOLUME
Статьи про Docker

Введение

Dockerfile используется для создания образов.

Если вы использовали make или batch файлы, то сможете увидеть некоторые аналогии

FROM

Инструкция FROM нужна, чтобы использовать другие образы. Если вам будет нужен Python можно взять готовый образ

FROM python:3.9

LABEL

Инструкция LABEL нужна, чтобы указать автора

LABEL author="andreyolegovich"

RUN

Инструкция RUN нужна, чтобы запусть команды. Например, команды Bash

RUN python -m pip install --upgrade pip # или RUN npm install

COPY

Когда код уже готов к продакшену инструкцией COPY его копируют в контейнер.

COPY src/ $YOUR_APP

ENTRYPOINT

Инструкция ENTRYPOINT указывает на точку входа в контейнер.

Желательно оформить в виде json массива.

ENTRYPOINT ["node", "server.js"]

WORKDIR

Инструкция WORKDIR указывает на рабочую директорию. Где данный контейнер будет запускаться.

пример

WORKDIR /var/app

EXPOSE

Инструкция EXPOSE открывает определённый порт

Например открыть порт 5000 для Flask

EXPOSE 5000

ENV

С помощью ENV можно задать переменные окружения.

Например можно задать рабочую директорию через ENV и потом переиспользовать

ENV APP_DIR=/home/app/python RUN mkdir -p $APP_DIR WORKDIR $APP_DIR COPY src/ $APP_DIR

VOLUME

С помощью VOLUME можно указать в какой диретории создать внешний раздел.

VOLUME ["/var/app"]

или несколько разделов

VOLUME ["/var/app", "/var/log]

Пример

FROM python:3.9 ENV MICRO_SERVICE=/home/app/webapp # set work directory RUN mkdir -p $MICRO_SERVICE # where your code lives WORKDIR $MICRO_SERVICE # set environment variables ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 # install dependencies RUN python -m pip install --upgrade pip # copy project COPY src/ $MICRO_SERVICE RUN python -m pip install -r ./requirements.txt EXPOSE 8501 CMD streamlit run app.py

Похожие статьи
Docker
Установка в Windows
Установка в Linux
Начало работы
run: Опции запуска контейнера
Dockerfile
Остановить/удалить все контейнеры
Ubuntu в контейнере на Windows 10
exec: выполнить команду в контейнере
Установка docker compose в Linux
Создать контейнер с доступом по SSH
Видеоуроки
Ошибки
Make
Контакты и сотрудничество:
Рекомендую наш хостинг beget.ru
Пишите на info@urn.su если Вы:
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык.
2. Хотите разместить на сайте рекламу, подходящуюю по тематике.
3. Реклама на моём сайте имеет максимальный уровень цензуры. Если Вы увидели рекламный блок недопустимый для просмотра детьми школьного возраста, вызывающий шок или вводящий в заблуждение - пожалуйста свяжитесь с нами по электронной почте
4. Нашли на сайте ошибку, неточности, баг и т.д. ... .......
5. Статьи можно расшарить в соцсетях, нажав на иконку сети: