Монтирование томов в GitFlic Runner с типом Docker
Функционал агента с типом Docker позволяет настраивать монтирование томов для вспомогательных контейнеров конвейера с помощью параметров при регистрации агента или с помощью параметров в файле application.properties.
С помощью параметра docker.volumes
можно подключать как связываемые тома (bind mounts), именованные тома (named volumes), так и анонимные, используя синтаксис, аналогичный флагу -v
в Docker. Данный параметр позволяет использовать разные типы хранилищ данных, что особенно полезно для сохранения состояния между запусками контейнеров.
Пример монтирования связываемых и именованных томов:
docker.volumes[0]=/local/path:/container/path
docker.volumes[1]=data:/container/path
Параметр docker.volume-driver
указывает, какой драйвер будет использоваться при создании томов. По умолчанию используется драйвер local
, который предназначен для работы с локальными файловыми системами. Однако можно настроить другие драйверы, например, для работы с сетевыми хранилищами (например, nfs
для использования NFS), что позволяет подключать тома, расположенные на удаленных серверах. Подробная информация по использованию различных драйверов доступна в официальной документации Docker.
Параметр docker.volume_driver_ops
позволяет указать дополнительные опции для выбранного драйвера. Например, для драйвера nfs
можно указать адрес сервера и параметры монтирования, такие как режим доступа к тому (чтение/запись).
Пример:
docker.volume-driver=nfs
docker.volume_driver_ops=type=nfs,addr=192.168.1.100,rw
docker.volumes[0]=/mnt/data:/container/data
Если требуется использовать анонимные тома с возможностью указания директории для их хранения, параметр docker.cache_dir
позволяет указать абсолютный путь, относительно которого будут размещаться анонимные тома.
Пример:
docker.cache_dir=/var/cache/gitflic-runner
Параметр docker.disable_cache
управляет локальным кэшированием, основанным на анонимных томах. Если параметр установлен в значение true
, локальный кэш отключается и создание анонимных томов (объявленных без хостовой директории) становится недоступным.
Драйвера для монтирования томов контейнера
Различные драйвера можно устанавливать с помощью плагинов для Docker. Описание работы плагинов доступно в официальной документации Docker на странице Docker Engine plugins.