+++
title = "Настроить образ Harvest Docker"
description = "Руководство по настройке образа Harvest Docker"
keywords = ["harvest", "configuration", "documentation", "docker"]
aliases = ["/docs/harvest/latest/installation/configure-docker/"]
weight = 200
+++
# Настроить образ Harvest Docker

Если вы используете Harvest в образе Docker, вы настраиваете Harvest, используя [переменные среды]({{< relref "../administration/configuration.md#configure-with-environment-variables" >}}), а не напрямую редактируя файл конфигурации. Если вы хотите сохранить свои данные, вам также необходимо назначить постоянное хранилище или привязать монтирование для контейнера Harvest.

## Сохраните данные Harvest

Если вы не укажете место для хранения информации, все ваши данные Harvest исчезнут, как только вы остановите свой контейнер. Чтобы сохранить ваши данные, вам нужно настроить постоянное хранилище или привязать монтирование для вашего контейнера.

### Запустите контейнер Harvest с постоянным хранилищем (рекомендуется)

``` ударить
# создайте постоянный том для ваших данных в /var/lib/harvest (база данных и плагины)
объем докера создать хранилище harvest

# запускаем графану
docker run -d -p 3000:3000 --name=harvest -v harvest-storage:/var/lib/harvest harvest/harvest
```

### Запуск контейнера Harvest с использованием привязки

Вы можете запустить Harvest в Docker, но использовать папки на своем хосте для базы данных или конфигурации. При этом становится важным запустить контейнер с пользователем, который может получить доступ и записать в папку, которую вы сопоставляете с контейнером.

``` ударить
mkdir data # создает папку для ваших данных
ID=$(id -u) # сохраняет ваш идентификатор пользователя в переменной ID

# запускает harvest с вашим идентификатором пользователя и с использованием папки данных
docker run -d --user $ID --volume "$PWD/data:/var/lib/harvest" -p 3000:3000 harvest/harvest:7.2.1
```

## Пути по умолчанию

Следующие параметры жестко запрограммированы при запуске контейнера Harvest Docker и могут быть переопределены только с помощью переменных среды, а не в `conf/harvest.ini`.

Настройка | Значение по умолчанию
----------------------|-----------------------------------------
GF_PATHS_CONFIG | /etc/harvest/harvest.ini
GF_PATHS_DATA | /var/lib/графана
GF_PATHS_HOME | /usr/доля/графана
GF_PATHS_LOGS | /var/журнал/графана
GF_PATHS_PLUGINS | /var/lib/harvest/плагины
GF_PATHS_PROVISIONING | /etc/графана/обеспечение

## Логирование

Журналы в контейнере Docker по умолчанию выходят в стандартном виде, как это принято в мире Docker. Измените это, установив другой [режим журнала]({{< relref "../administration/configuration.md#mode" >}}).

Пример:

``` ударить
# Запускаем Harvest при входе как в стандартный вывод, так и в /var/log/harvest/harvest.log
docker run -p 3000:3000 -e "GF_LOG_MODE=консольный файл" harvest/harvest
```

## Настройте Harvest с помощью секретов Docker

> Доступно только в Harvest v5.2 и более поздних версиях.

Конфигурацию Harvest можно предоставить через файлы. Это хорошо работает с [Docker Secrets](https://docs.docker.com/engine/swarm/secrets/), так как секреты по умолчанию сопоставляются с `/run/secrets/<имя секрета>` контейнера.

Вы можете сделать это с помощью любого из параметров конфигурации в conf/harvest.ini, установив `GF_<SectionName>_<KeyName>__FILE` на путь к файлу, содержащему секрет.

Например, вы можете установить пароль администратора следующим образом:

- Секрет пароля администратора: `/run/secrets/admin_password`
- Переменная среды: `GF_SECURITY_ADMIN_PASSWORD__FILE=/run/secrets/admin_password`

## Настройте учетные данные AWS для поддержки CloudWatch

``` ударить
докер запустить -d \
-р 3000:3000 \
--name=графана \
-e "GF_AWS_PROFILES=по умолчанию" \
-e "GF_AWS_default_ACCESS_KEY_ID=ВАШ_ACCESS_KEY" \
-e "GF_AWS_default_SECRET_ACCESS_KEY=ВАШ_SECRET_KEY" \
-e "GF_AWS_default_REGION=us-east-1" \
графана/графана
```

Вы также можете указать несколько профилей для `GF_AWS_PROFILES` (например,
`GF_AWS_PROFILES=другое по умолчанию`).

Поддерживаемые переменные:

- `GF_AWS_${profile}_ACCESS_KEY_ID`: идентификатор ключа доступа AWS (обязательно).
- `GF_AWS_${profile}_SECRET_ACCESS_KEY`: секретный ключ доступа AWS (обязательно).
- `GF_AWS_${profile}_REGION`: регион AWS (необязательно).
