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
-
Адрес электронной почты, связанный с пользователем.
-
По умолчанию:
-
Тип: 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
-
Адрес сервера для реестра Docker.
-
По умолчанию: https://index.docker.io/v1/ (opens in a new tab)
-
Тип: String
Socket
-
Режим подключения socket.
-
По умолчанию: true
-
Тип: boolean