Преимущества запуска Nginx в Docker
Одним из основных преимуществ докера является полная идемпотентность. Образ Docker — это «вещь в себе», вы можете скопировать или переместить его на другой сервер, и результат при запуске будет точно таким же.
Установка Docker
Прежде чем запускать любое «контейнеpизованное» ПО, вы должны установить собственно Docker. Давайте это сделаем:
curl -fsSL https://get.docker.com -o initial.sh; bash ./initial.sh
Создадим каталог для файлов проекта:
mkdir -p ~/project/content
Поместите содержимое проекта в этот каталог. Я в демонстрационных целях просто создам индексную страницу:
echo "<h1>Serverspace — лучшая в мире хостинговая компания</h1>" > ~/project/content/index.html
Запустите службу:
docker run --name nginxapp -p 80:80 -v ~/project/content:/usr/share/nginx/html nginx
Уже сейчас, если вы откроете IP сервера в браузере, сервер должен «отдать» корректный ответ:
Этого достаточно для минимальной настройки, но при необходимости вы можете «подсоединить» к веб-серверу дополнительные конфиг-файлы. Также я советую запускать контейнер с флагом -d, этот флаг «скажет» докеру, что запускать контейнер нужно в фоне, чтобы потом вы могли закрыть сеанс терминала:
docker run --name nginxapp -p 80:80 -v ~/project/content:/usr/share/nginx/html -v ~/project/yourdomain.conf:/etc/project/conf.d/yourdomain.conf -d nginx