SatCat commited on
Commit
d0f5189
·
verified ·
1 Parent(s): 574e9dd

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +17 -3
Dockerfile CHANGED
@@ -1,7 +1,10 @@
 
1
  FROM alpine:3.15
2
 
 
3
  RUN apk add --no-cache nginx bash curl
4
 
 
5
  ENV PROMETHEUS_VERSION=3.3.0
6
  RUN curl -LO https://github.com/prometheus/prometheus/releases/download/v${PROMETHEUS_VERSION}/prometheus-${PROMETHEUS_VERSION}.linux-amd64.tar.gz \
7
  && tar xvf prometheus-${PROMETHEUS_VERSION}.linux-amd64.tar.gz \
@@ -9,23 +12,34 @@ RUN curl -LO https://github.com/prometheus/prometheus/releases/download/v${PROME
9
  && mv prometheus-${PROMETHEUS_VERSION}.linux-amd64/promtool /usr/local/bin/ \
10
  && rm -rf prometheus-${PROMETHEUS_VERSION}.linux-amd64.tar.gz prometheus-${PROMETHEUS_VERSION}.linux-amd64
11
 
 
12
  ENV PUSHGATEWAY_VERSION=1.11.1
13
  RUN curl -LO https://github.com/prometheus/pushgateway/releases/download/v${PUSHGATEWAY_VERSION}/pushgateway-${PUSHGATEWAY_VERSION}.linux-amd64.tar.gz \
14
  && tar xvf pushgateway-${PUSHGATEWAY_VERSION}.linux-amd64.tar.gz \
15
  && mv pushgateway-${PUSHGATEWAY_VERSION}.linux-amd64/pushgateway /usr/local/bin/ \
16
  && rm -rf pushgateway-${PUSHGATEWAY_VERSION}.linux-amd64.tar.gz pushgateway-${PUSHGATEWAY_VERSION}.linux-amd64
17
 
18
- RUN mkdir -p /prometheus /etc/prometheus /etc/nginx/http.d /var/log/nginx /var/nginx/tmp \
19
- && chown -R nobody:nobody /prometheus /etc/prometheus /etc/nginx /var/log/nginx /var/nginx/tmp \
20
- && chmod -R 777 /prometheus /var/log/nginx /var/nginx/tmp
 
21
 
 
22
  COPY --chown=nobody prometheus.yml /etc/prometheus/prometheus.yml
 
 
23
  COPY nginx.conf /etc/nginx/nginx.conf
24
  COPY default.conf /etc/nginx/http.d/default.conf
 
 
25
  COPY entrypoint.sh /entrypoint.sh
26
  RUN chmod +x /entrypoint.sh
27
 
 
28
  EXPOSE 80
 
 
29
  USER nobody
30
 
 
31
  ENTRYPOINT ["/entrypoint.sh"]
 
1
+ # Базовый образ на основе Alpine
2
  FROM alpine:3.15
3
 
4
+ # Устанавливаем зависимости: Nginx, bash, curl
5
  RUN apk add --no-cache nginx bash curl
6
 
7
+ # Устанавливаем Prometheus 3.3.0
8
  ENV PROMETHEUS_VERSION=3.3.0
9
  RUN curl -LO https://github.com/prometheus/prometheus/releases/download/v${PROMETHEUS_VERSION}/prometheus-${PROMETHEUS_VERSION}.linux-amd64.tar.gz \
10
  && tar xvf prometheus-${PROMETHEUS_VERSION}.linux-amd64.tar.gz \
 
12
  && mv prometheus-${PROMETHEUS_VERSION}.linux-amd64/promtool /usr/local/bin/ \
13
  && rm -rf prometheus-${PROMETHEUS_VERSION}.linux-amd64.tar.gz prometheus-${PROMETHEUS_VERSION}.linux-amd64
14
 
15
+ # Устанавливаем Pushgateway 1.11.1
16
  ENV PUSHGATEWAY_VERSION=1.11.1
17
  RUN curl -LO https://github.com/prometheus/pushgateway/releases/download/v${PUSHGATEWAY_VERSION}/pushgateway-${PUSHGATEWAY_VERSION}.linux-amd64.tar.gz \
18
  && tar xvf pushgateway-${PUSHGATEWAY_VERSION}.linux-amd64.tar.gz \
19
  && mv pushgateway-${PUSHGATEWAY_VERSION}.linux-amd64/pushgateway /usr/local/bin/ \
20
  && rm -rf pushgateway-${PUSHGATEWAY_VERSION}.linux-amd64.tar.gz pushgateway-${PUSHGATEWAY_VERSION}.linux-amd64
21
 
22
+ # Создаём директории для Prometheus, Nginx логов и временных файлов
23
+ RUN mkdir -p /prometheus /etc/prometheus /etc/nginx/http.d /var/log/nginx /var/nginx/tmp /var/lib/nginx/logs \
24
+ && chown -R nobody:nobody /prometheus /etc/prometheus /etc/nginx /var/log/nginx /var/nginx/tmp /var/lib/nginx/logs \
25
+ && chmod -R 777 /prometheus /var/log/nginx /var/nginx/tmp /var/lib/nginx/logs
26
 
27
+ # Копируем конфигурацию Prometheus
28
  COPY --chown=nobody prometheus.yml /etc/prometheus/prometheus.yml
29
+
30
+ # Копируем конфигурацию Nginx
31
  COPY nginx.conf /etc/nginx/nginx.conf
32
  COPY default.conf /etc/nginx/http.d/default.conf
33
+
34
+ # Копируем entrypoint-скрипт
35
  COPY entrypoint.sh /entrypoint.sh
36
  RUN chmod +x /entrypoint.sh
37
 
38
+ # Открываем только порт 80 для Nginx (ограничение Hugging Face)
39
  EXPOSE 80
40
+
41
+ # Запускаем контейнер от имени nobody
42
  USER nobody
43
 
44
+ # Указываем точку входа
45
  ENTRYPOINT ["/entrypoint.sh"]