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"]
         | 
