Добавить в корзинуПозвонить
Найти в Дзене
dockerhosting.ru

Развертывание статического веб-сайта с помощью Docker и Nginx

Перевод: Deploying a Static Website with Docker and Nginx Если вы ищете быстрый и лёгкий способ размещения статического веб-сайта, Nginx и Docker — это беспроигрышная комбинация. В этой статье я расскажу вам, как создать базовый веб-сайт на HTML/CSS с помощью Docker и Nginx на базовом образе Alpine Linux. Структура проекта
С помощью приведенной ниже команды клонируйте статическое приложение на свой локальный компьютер. Вот как может выглядеть папка вашего проекта: git clone https://github.com/techie-dera/ec2resume.git EC2-Demo/
├── index.html
├── style.css
└── Dockerfile
Файлы index.html и style.css содержат статическое содержимое вашего сайта, а Dockerfile — это то, что мы будем использовать для упаковки и обслуживания сайта. 🐋 Разбивка Dockerfile на части
Вот Dockerfile, который мы будем использовать: FROM nginx:alpine
RUN rm -rf /usr/share/nginx/html/*
COPY ./index.html /usr/share/nginx/html/
COPY ./style.css /usr/share/nginx/html/
EXPOSE 8080
CMD ["nginx", "-g", "daemon off;"]

Перевод: Deploying a Static Website with Docker and Nginx

Если вы ищете быстрый и лёгкий способ размещения статического веб-сайта, Nginx и Docker — это беспроигрышная комбинация. В этой статье я расскажу вам, как создать базовый веб-сайт на HTML/CSS с помощью Docker и Nginx на базовом образе Alpine Linux.

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

git clone https://github.com/techie-dera/ec2resume.git

EC2-Demo/

├── index.html
├── style.css
└── Dockerfile


Файлы index.html и style.css содержат статическое содержимое вашего сайта, а Dockerfile — это то, что мы будем использовать для упаковки и обслуживания сайта.

🐋 Разбивка Dockerfile на части
Вот Dockerfile, который мы будем использовать:

FROM nginx:alpine
RUN rm -rf /usr/share/nginx/html/*
COPY ./index.html /usr/share/nginx/html/
COPY ./style.css /usr/share/nginx/html/
EXPOSE 8080
CMD ["nginx", "-g", "daemon off;"]


Что Это Делает:
Что Это Делает:

FROM nginx:alpine: используется минимальный образ Nginx на базе Alpine Linux.
RUN rm -rf /usr/share/nginx/html/: удаляет веб-страницу по умолчанию.
COPY: добавляет файлы index.html и style.css в корневую папку Nginx.
EXPOSE 8080: делает HTTP-порт контейнера доступным для хоста.
CMD: поддерживает работу Nginx на переднем плане.

Создайте образ Docker
Выполните эту команду в каталоге с вашим Dockerfile:

docker build -t my-static-app .

Запустите контейнер
После создания образа запустите его с помощью:

docker run -d -p 8080:80 --name static-web my-static-app
Посетите
http://localhost (или IP-адрес вашего сервера, если он размещен на EC2), чтобы увидеть свой сайт в реальном времени.

-2
-3

Почему Это Здорово

  • Легковесность: Alpine + Nginx — это быстро и эффективно.
  • Портативность: вы можете развернуть один и тот же контейнер где угодно — в EC2, ECS или Kubernetes.
  • Просто: не нужно устанавливать или настраивать веб-серверы вручную.

Сервис развертывания приложений dockerhosting.ru