Docker

Поддерживаются как производитель, так и потребитель.

Компонент Camel для взаимодействия с Docker.

Компонент Docker Camel использует docker-java через Docker Remote API.

URI format

<span style="color: rgb(0,0,0);">docker://[operation]?[options]</span>

Где операция -- это конкретное действие, которое необходимо выполнить в Docker.

Configuring Options

Компоненты настраиваются на двух отдельных уровнях:

  • component level

  • edpoint level

Configuring Component Options

На уровне компонента задаются основные и общие настройки, которые впоследствии наследуются endpoints. Это самый высокий уровень конфигурации.

Например, компонент может иметь настройки безопасности, учетные данные для аутентификации, URL-адреса для сетевых подключений и т. д.

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

Компоненты можно настроить с использованием:

  • Component DSL.

  • Конфигурационного файла (application.properties, *.yaml files, etc).

  • Напрямую в Java code.

Configuring Endpoint Options

Обычно больше времени уходит на настройку endpoints, так как они обладают множеством параметров. Эти параметры позволяют настроить поведение endpoint в соответствии с вашими потребностями. Кроме того, параметры делятся на категории в зависимости от того, используется ли endpoint как потребитель (from), как производитель (to) или в обеих ролях.

Настройка endpoints чаще всего выполняется непосредственно в URI endpoint в виде параметров пути и запроса. Также вы можете использовать Endpoint DSL и DataFormat DSL как типобезопасный способ настройки endpoints и форматов данных в Java.

Хорошей практикой при настройке параметров является использование Property Placeholders.

Property placeholders предоставляют несколько преимуществ:

  • Помогают избежать использования жестко закодированных URL-адресов, номеров портов, конфиденциальной информации и других настроек.

  • Позволяют вынести конфигурацию за пределы кода.

  • Делают код более гибким и удобным для повторного использования.

Component properties

Email

  • Адрес электронной почты, связанный с пользователем.

  • По умолчанию:

  • Тип: String

Host

  • Обязательный хост Docker.

  • По умолчанию: localhost

  • Тип: String

Operation

  • Required Which operation to use.

    Enum values:

    • events

    • stats

    • auth

    • info

    • ping

    • version

    • imagebuild

    • imagecreate

    • imageinspect

    • imagelist

    • imagepull

    • imagepush

    • imageremove

    • imagesearch

    • imagetag

    • containerattach

    • containercommit

    • containercopyfile

    • containercreate

    • containerdiff

    • inspectcontainer

    • containerkill

    • containerlist

    • containerlog

    • containerpause

    • containerrestart

    • containerremove

    • containerstart

    • containerstop

    • containertop

    • containerunpause

    • containerwait

    • execcreate

    • execstart

    • networkconnect

    • networkcreate

    • networkremove

  • По умолчанию:

  • Тип: DockerOperation

Port

  • Docker порт.

  • По умолчанию: 2375

  • Тип: Integer

Request Timeout

  • Время ожидания ответа (в секундах).

  • По умолчанию:

  • Тип: Integer

Component security properties

Cert Path

  • Местоположение, содержащее цепочку сертификатов SSL.

  • По умолчанию:

  • Тип: String

Password

  • Тип: Пароль для аутентификации.

  • По умолчанию:

  • Тип: String

Secure

  • Use HTTPS communication.

  • По умолчанию: false

  • Тип: boolean

Tls Verify

  • Check TLS.

  • По умолчанию: false

  • Тип: boolean

Username

  • Имя пользователя для аутентификации.

  • По умолчанию:

  • Тип: String

Component advanced properties

Bridge Error Handler

  • Предоставляет возможность связать потребителя с маршрутизатором Error Handler Camel. Это позволяет обрабатывать исключения (если возможно), возникающие при получении входящих сообщений потребителем Camel, в виде сообщений, передаваемых в маршрутизатор Error Handler.

    Важно: Это возможно только в том случае, если сторонний компонент позволяет Camel получать уведомления о возникших исключениях. Некоторые компоненты обрабатывают исключения только внутренне, из-за чего использование bridgeErrorHandler становится невозможным. В некоторых случаях мы можем доработать компонент Camel, чтобы интегрировать его со сторонним компонентом и сделать такую возможность доступной в будущих выпусках. По умолчанию потребитель использует org.apache.camel.spi.ExceptionHandler для обработки исключений, которые логируются с уровнем WARN или ERROR и игнорируются.

  • По умолчанию: false

  • Тип: boolean

Cmd Exec Factory

  • Полностью квалифицированное имя класса реализации DockerCmdExecFactory, который следует использовать.

  • По умолчанию: com.github.dockerjava.netty.NettyDockerCmdExecFactory

  • Тип: String

Exception Handler

  • Позволяет потребителю использовать собственный ExceptionHandler.

    Обратите внимание, что если включена опция bridgeErrorHandler, то эта настройка не используется. По умолчанию потребитель обрабатывает исключения, которые логируются с уровнем WARN или ERROR и игнорируются.

  • По умолчанию:

  • Тип: ExceptionHandler

Exchange Pattern

  • Определяет шаблон взаимодействия, который применяется, когда потребитель создает новый обмен (exchange).

    Возможные значения:

    • InOnly

    • InOut

  • По умолчанию:

  • Тип: ExchangePattern

Follow Redirect Filter

  • Тип: Определяет, следует ли использовать фильтр перенаправлений.

  • По умолчанию: false

  • Тип: boolean

Logging Filter

  • Определяет, следует ли использовать фильтр логирования.

  • По умолчанию: false

  • Тип: boolean

Max Per Route Connections

  • Максимальное количество маршрутных соединений.

  • По умолчанию: 100

  • Тип: Integer

Max Total Connections

  • Максимальное количество подключений.

  • По умолчанию: 100

  • Тип: Integer

Parameters

  • Дополнительные параметры конфигурации в виде пар ключ/значение.

  • По умолчанию:

  • Тип: Map

Server Address

Socket

  • Режим подключения socket.

  • По умолчанию: true

  • Тип: boolean