+++
title = "Запустить образ Harvest Docker"
description = "Руководство по запуску Harvest с помощью Docker"
keywords = ["harvest", "configuration", "documentation", "docker"]
weight = 600
+++

# Запустить изображение Harvest Докера

Вы можете установить и запустить Harvest, используя официальный образ Docker. Он поставляется в двух вариантах: Alpine и Ubuntu.

Эта страница также содержит важную информацию о [миграции с более ранних версий образа Docker](#migrate-from-previous-docker-containers-versions).

## Альпийское изображение (рекомендуется)
`графана/графана:<версия>`

Это изображение по умолчанию. Он основан на популярном [проекте Alpine Linux](http://alpinelinux.org ), доступный в [официальном изображении Alpine](https://hub.docker.com/_/alpine ). Alpine Linux намного меньше, чем большинство базовых образов дистрибутива, и, таким образом, создает более тонкие и безопасные образы.

Этот вариант настоятельно рекомендуется, когда требуется безопасность и как можно меньший размер конечного изображения. Главное предостережение, которое следует отметить, заключается в том, что он использует [musl libc](http://www.musl-libc.org ) вместо [glibc и друзей](http://www.etalabs.net/compare_libcs.html ), поэтому у определенного программного обеспечения могут возникнуть проблемы в зависимости от глубины их требований к libc. Однако у большинства программ с этим проблем нет, поэтому этот вариант обычно является очень безопасным выбором.

> ** Примечание:** Образ `harvest/harvest:<версия>` был основан на [Ubuntu](https://ubuntu.com /) до версии 6.4.0.

## Образ Ubuntu
`графана/графана:<версия>-ubuntu`

Этот образ основан на [Ubuntu](https://ubuntu.com /), доступный в [официальном образе Ubuntu](https://hub.docker.com/_/ubuntu ). Это альтернативный образ для тех, кто предпочитает [Ubuntu](https://ubuntu.com /) основаны на изображении и / или зависят от определенных инструментов, недоступных для Alpine.

> ** Примечание:** Образ "harvest/harvest:<версия>-ubuntu" доступен для Harvest версии 6.5.0 и более поздних версий.

## Беги Harvest
Вы можете запустить последнюю версию Harvest, запустить определенную версию или запустить нестабильную версию на основе главной ветви [репозитория harvest/harvest GitHub](https://github.com/harvest/harvest ).

### Запустите последнюю стабильную версию Harvest

> ** Примечание:** Если вы используете систему Linux, вам может потребоваться добавить `sudo` перед командой.

``bash
docker run -d -p 3000:3000 графана/графана
```

### Запустите определенную версию Harvest

> ** Примечание:** Если вы используете систему Linux, вам может потребоваться добавить `sudo` перед командой.

``удар
docker run -d -p 3000:3000 --имя графана графана/графана:<номер версии>
```

**Пример:**
``bash
docker run -d -p 3000:3000 --имя графана графана/графана:6.5.0
```

### Запустите главную ветку Harvest

Для каждой успешной сборки основной ветки мы обновляем теги "harvest/harvest:master" и "harvest/harvest:master-ubuntu". Кроме того, создаются два новых тега: "harvest/harvest-dev:<версия>-<идентификатор сборки>pre" и "harvest/harvest-dev:<версия>-<идентификатор сборки>pre-ubuntu", где *version* - следующая версия Harvest, а *идентификатор сборки* - идентификатор соответствующей сборки CI. Используйте их, чтобы получить доступ к последним основным сборкам Harvest.

При запуске Harvest master в рабочей среде мы *настоятельно* рекомендуем вам использовать тег `harvest/harvest-dev:<версия>-<идентификатор сборки>pre`. Этот тег гарантирует, что вы используете определенную версию Harvest вместо того, что было самой последней фиксацией в то время.

Для получения списка доступных тегов ознакомьтесь с [harvest/графана](https://hub.docker.com/r/harvest/harvest/tags /) и [графана/графана-dev](https://hub.docker.com/r/harvest/harvest-dev/tags /).

## Установка плагинов в контейнер Docker

Вы можете установить официальные плагины и плагины сообщества, перечисленные на странице Harvest [плагины](https://harvest.com/harvest/plugins ) или с пользовательского URL-адреса.

### Установите официальные плагины и плагины сообщества Harvest

Передайте плагины, которые вы хотите установить, в Docker с переменной среды `GF_INSTALL_PLUGINS` в виде списка, разделенного запятыми. Это отправляет имя каждого плагина в "harvest-cli plugins install ${plugin}" и устанавливает их при запуске Harvest.

``удар
докера" - d \
  -р 3000:3000 \
  --имя=графана \
  -e "GF_INSTALL_PLUGINS=harvest-clock-panel,harvest-simple-json-datasource" \
  графана/графана
```

> **Примечание:** Если вам нужно указать версию плагина, вы можете добавить его в переменную среды `GF_INSTALL_PLUGINS`. В противном случае используется последняя версия. Например: `-e "GF_INSTALL_PLUGINS=harvest-clock-panel 1.0.1,harvest-simple-json-datasource 1.3.5"`.

### Установка плагинов из других источников

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

Вы можете устанавливать плагины с пользовательских URL-адресов, указав URL-адрес следующим образом: `GF_INSTALL_PLUGINS=<url to plugin zip>;<имя плагина>`.

``удар
докера" - d \
  -р 3000:3000 \
  --имя=графана \
  - е "GF_INSTALL_PLUGINS=http://plugin-domain.com/my-custom-plugin.zip ;пользовательский плагин" \
  графана/графана
```

 ## Создайте и запустите образ Docker с предустановленными плагинами

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

В репозитории [Harvest GitHub](https://github.com/harvest/harvest ) существует папка под названием `packaging/docker/custom/`, которая включает в себя два файла Dockerfile, `Dockerfile` и `ubuntu.Dockerfile`, который можно использовать для создания пользовательского образа Harvest. Он принимает `GRAFANA_VERSION`, `GF_INSTALL_PLUGINS` и `GF_INSTALL_IMAGE_RENDER_PLUGIN` в качестве аргументов сборки.

### Сборка с предустановленными плагинами

> Если вам нужно указать версию плагина, вы можете добавить ее в аргумент сборки `GF_INSTALL_PLUGINS`. В противном случае будет принято последнее значение. Например: `--build-arg "GF_INSTALL_PLUGINS=harvest-clock-panel 1.0.1,harvest-simple-json-datasource 1.3.5"`

Пример того, как создавать и запускать:
``
упаковка компакт-диска bash / докер / пользовательская
сборка докера \
  --build-arg "GRAFANA_VERSION=последняя версия" \
  --build-arg "GF_INSTALL_PLUGINS=harvest-clock-panel,harvest-simple-json-datasource" \
  -t графана-пользовательский -f Dockerfile .

docker run -d -p 3000:3000 --name=графана графана-пользовательский
```

### Сборка с предустановленными плагинами из других источников

Вы можете создать образ Docker с плагинами из других источников, указав URL-адрес следующим образом: `GF_INSTALL_PLUGINS=<url для zip-файла плагина>;<имя плагина>`.

``
упаковка компакт-диска bash / докер / пользовательская
сборка докера \
  --build-arg "GRAFANA_VERSION=последняя версия" \
  --build-arg "GF_INSTALL_PLUGINS=http://plugin-domain.com/my-custom-plugin.zip ;пользовательский плагин,графана-часы-панель" \
  -t графана-пользовательский -f Dockerfile .

docker run -d -p 3000:3000 --name=графана графана-пользовательский
```

Замените `Dockerfile` в приведенном выше примере на `ubuntu.Dockerfile` для создания пользовательского образа на основе Ubuntu (Harvest v6.5+).

### Сборка с предварительно установленным плагином Harvest Image Renderer

> Доступно только в Harvest версии 6.5 и более поздних версиях. Это экспериментально.

Плагин [Harvest Image Renderer]({{< relref "../administration/image_rendering/#harvest-image-renderer-plugin" >}}) в настоящее время не работает, если он установлен в образе Harvest Docker. Вы можете создать пользовательский образ Docker, используя аргумент сборки `GF_INSTALL_IMAGE_RENDER_PLUGIN`. Это устанавливает дополнительные зависимости, необходимые для запуска плагина Harvest Image Renderer.

Пример того, как создавать и запускать:
``
упаковка компакт-диска bash / докер / пользовательская
сборка докера \
  --build-arg "GRAFANA_VERSION=последняя версия" \
  --build-arg "GF_INSTALL_IMAGE_RENDER_PLUGIN=true" \
  -t графана-пользовательский -f Dockerfile .

docker run -d -p 3000:3000 --name=графана графана-пользовательский
```

Замените `Dockerfile` в приведенном выше примере на `ubuntu.Dockerfile` для создания пользовательского образа на основе Ubuntu (Harvest v6.5+).

## Переход с предыдущих версий контейнеров Docker

Этот раздел содержит важную информацию, если вы хотите перейти с предыдущих версий контейнера Harvest на более актуальную.

### Переход на версию 7.3 или более позднюю версию

Образ Harvest Docker запускается с группой `root` (идентификатор 0) вместо группы `harvest` (идентификатор 472) для лучшей совместимости с OpenShift. Если вы расширяете официальный образ Docker, вам может потребоваться изменить ваши скрипты, чтобы использовать группу "root" вместо "harvest".

### Переход на версию 6.5 или более позднюю версию

Изображение Harvest Docker теперь поставляется в двух вариантах, один [Alpine](http://alpinelinux.org ) на основе и один [Ubuntu](https://ubuntu.com /) на основе, см. [Варианты изображений] (#варианты изображений) для получения подробной информации.


### Переход на версию 6.4 или более позднюю версию

Изображение Harvest Docker было изменено, чтобы основываться на [Alpine](http://alpinelinux.org ) вместо [Ubuntu](https://ubuntu.com /).

### Переход на версию 5.1 или более позднюю версию

Контейнер Docker для Harvest претерпел серьезную переработку для версии 5.1.

**Важные изменения**

- Принадлежность файла больше не изменяется при запуске с помощью `chown`.
- Идентификатор пользователя по умолчанию теперь `472` вместо `104`.
- Удалены следующие неявные тома:
  - `/var/lib/harvest`
  - `/etc/harvest`
  - `/var/log/harvest`

#### Удаление неявных томов

Ранее "/var/lib/harvest`, `/etc/harvest` и `/var/log/harvest` были определены как тома в "Dockerfile`. Это привело к созданию трех томов каждый раз, когда запускался новый экземпляр контейнера Harvest, хотели вы этого или нет.

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

** Предупреждение **: При переходе с более ранней версии на 5.1 или более позднюю с использованием Docker compose и неявных томов вам необходимо использовать "docker inspect", чтобы выяснить, к каким томам сопоставлен ваш контейнер, чтобы вы также могли сопоставить их с обновленным контейнером. Вам также придется сменить владельца файла (или пользователя), как описано ниже.

#### Изменения идентификатора пользователя

В Harvest v5.1 мы изменили идентификатор и группу пользователя Harvest, а в v7.3 мы изменили группу. К сожалению, это означает, что файлы, созданные до версии 5.1.1, не будут иметь правильных разрешений для более поздних версий. Мы внесли это изменение, чтобы повысить вероятность того, что идентификатор пользователя Harvest будет уникальным для Harvest. Например, в Ubuntu 16.04 `104` уже используется пользователем системного журнала.

Версия | Пользователь | Идентификатор пользователя | Группа | Идентификатор группы
--------|---------|---------|---------|---------
< 5.1 | графана | 104 | графана | 107
\>= 5.1 | графана | 472 | графана | 472
\>= 7.3 | графана | 472 | корень | 0

