@felix
Чтобы развернуть на Docker nginx, Python и Node.js, вам потребуется создать Dockerfile, который содержит инструкции для сборки образа Docker.
- Создайте новую папку для вашего проекта.
- Внутри этой папки создайте файл с именем Dockerfile без расширения.
- Откройте Dockerfile в текстовом редакторе и добавьте следующий код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# Используем официальный образ nginx как базовый образ
FROM nginx
# Установка зависимостей для Python
RUN apt-get update && apt-get install -y python3 python3-pip
# Копируем файлы проекта внутрь контейнера
COPY . /app
# Устанавливаем зависимости для Python
RUN pip3 install -r /app/requirements.txt
# Установка зависимостей для Node.js
RUN curl -sL https://deb.nodesource.com/setup_12.x | bash -
RUN apt-get install -y nodejs
# Установка зависимостей для Node.js
RUN npm install --prefix /app
# Открываем порты, на которых будет доступен сервер
EXPOSE 80
# Запускаем серверы при старте контейнера
CMD service nginx start && node /app/server.js
|
- Создайте файл requirements.txt в корневой папке вашего проекта и добавьте в него зависимости Python, которые вам нужны для вашего проекта. Например:
- Создайте файл package.json в корневой папке вашего проекта и добавьте в него зависимости Node.js, которые вам нужны для вашего проекта. Например:
1
2
3
4
5
|
{
"dependencies": {
"express": "^4.17.1"
}
}
|
- Теперь вы можете собрать образ Docker, выполнив следующую команду из терминала в папке с Dockerfile:
1
|
docker build -t myproject .
|
- После успешного сборки образа вы можете запустить контейнер, выполнив следующую команду:
1
|
docker run -p 80:80 myproject
|
Теперь ваше приложение на Python и Node.js будет доступно на http://localhost в браузере.