Skip to content

Dockerfile – Примеры использования

Описание:
Ниже приведены практические примеры Dockerfile с разными базовыми образами и назначениями: от Hello World до полноценного API или CLI.


🧊 Простой Alpine Hello World

FROM alpine
CMD ["echo", "Hello from Alpine!"]

Минимальный контейнер на базе alpine, просто выводит строку.


🟦 Node.js приложение

FROM node:18

WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
CMD ["node", "index.js"]

Сборка и запуск JS-приложения на Node.js.


🐍 Python Flask API

FROM python:3.11

WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["python", "app.py"]
EXPOSE 5000

Flask-приложение на Python с установкой зависимостей.


🦫 Go-приложение

FROM golang:1.21

WORKDIR /go/src/app
COPY . .
RUN go build -o myapp .
CMD ["./myapp"]

Сборка и запуск бинарника Go.


🌐 Nginx со статическими файлами

FROM nginx:alpine

COPY ./public /usr/share/nginx/html
EXPOSE 80

Раздача статики через Nginx.


🐧 Ubuntu + curl

FROM ubuntu:22.04

RUN apt update && apt install -y curl
CMD ["curl", "--version"]

Установка curl и вывод версии.


🦀 Rust CLI Tool

FROM rust:1.73

WORKDIR /app
COPY . .
RUN cargo build --release
CMD ["./target/release/my_tool"]

Сборка утилиты на Rust.


☕ Java приложение (JAR)

FROM openjdk:17

WORKDIR /app
COPY ./build/libs/myapp.jar .
CMD ["java", "-jar", "myapp.jar"]

Запуск готового .jar файла.


📦 Bash-скрипт на Debian

FROM debian:bookworm-slim

COPY run.sh /run.sh
RUN chmod +x /run.sh
CMD ["/run.sh"]

Простой bash-скрипт внутри контейнера.


📉 BusyBox – минимальный контейнер

FROM busybox
CMD ["echo", "Minimal Dockerfile with BusyBox"]

Минимальный образ для вывода строки. Размер около 1MB.


📌 См. также: - 📄 Документация по Dockerfile - 🏗️ Сборка образов (docker build) - 🚀 Запуск контейнера (docker run)