Update Dockerfile
Browse files- 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 |
-
|
| 19 |
-
|
| 20 |
-
&&
|
|
|
|
| 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"]
|