Ce contenu n'est pas disponible dans la langue sélectionnée.
Chapter 38. Docker
Docker Component
Available as of Camel 2.15
Camel component for communicating with Docker.
The Docker Camel component leverages the docker-java via the Docker Remote API.
Maven users will need to add the following dependency to their
pom.xml
for this component:
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-docker</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel core version --> </dependency>
URI format
docker://[operation]?[options]
Where operation is the specific action to perform on Docker.
Header Strategy
All URI option can be passed as Header properties. Values found in a message header take precedence over URI parameters. A header property takes the form of a URI option prefixed with *CamelDocker* as shown below
URI Option | Header Property |
---|---|
containerId | CamelDockerContainerId |
General Options
The following parameters can be used with any invocation of the component
Option | Header | Description | Default Value |
---|---|---|---|
host | CamelDockerHost | Mandatory: Docker host | localhost |
port | CamelDockerPort | Mandatory:Docker port | 2375 |
username | CamelDockerUserName | User name to authenticate with | |
password | CamelDockerPassword | Password to authenticate with | |
CamelDockerEmail | Email address associated with the user | ||
secure | CamelDockerSecure | Use HTTPS communication | false |
requestTimeout | CamelDockerRequestTimeout | Request timeout for response (in seconds) | 30 |
certPath | CamelDockerCertPath | Location containing the SSL certificate chain |
Consumer Operations
The consumer supports the following operations.
Operation | Options | Description | Produces |
---|---|---|---|
events | initialRange | Monitor Docker events (Streaming) | Event |
Producer Operations
The following producer operations are available.
Misc Operation | Options | Description | Returns |
---|---|---|---|
auth | Check auth configuration | ||
info | System wide information | Info | |
ping | Ping the Docker server | ||
version | Show the docker version information | Version |
Image Operation | Options | Description | Body Content | Returns |
---|---|---|---|---|
image/list | filter, showAll | List images | List<Image> | |
image/create | repository | Create an image | InputStream | CreateImageResponse |
image/build | noCache, quiet, remove, tag | Build an image from Dockerfile via stdin | InputStream or File | InputStream |
image/pull | repository, registry, tag | Pull an image from the registry | InputStream | |
image/push | name | Push an image on the registry | InputStream | |
image/search | term | Search for images | List<SearchItem> | |
image/remove | imageId | Remove an image | ||
image/tag | imageId, repository, tag, force | Tag an image into a repository | ||
image/inspect | imageId | Inspect an image | InspectImageResponse |
Container Operation | Options | Description | Body Content | Returns |
---|---|---|---|---|
container/list | showSize, showAll, before, since, limit, List containers | initialRange | List<Container> | |
container/create | imageId, name, exposedPorts, workingDir, disableNetwork, hostname, user, tty, stdInOpen, stdInOnce, memoryLimit, memorySwap, cpuShares, attachStdIn, attachStdOut, attachStdErr, env, cmd, dns, image, volumes, volumesFrom | Create a container | CreateContainerResponse | |
container/start |
containerId, binds, links, lxcConf, portBindings, privileged, publishAllPorts, dns, dnsSearch, volumesFrom, networkMode, devices, restartPolicy, capAdd, capDrop
|
Start a container | ||
container/inspect | containerId | Inspect a container | InspectContainerResponse | |
container/wait | containerId | Wait a container | Integer | |
container/log | containerId, stdOut, stdErr, timestamps, followStream, tailAll, tail | Get container logs | InputStream | |
container/attach | containerId, stdOut, stdErr, timestamps, logs, followStream | Attach to a container | InputStream | |
container/stop | containerId, timeout | Stop a container | ||
container/restart | containerId, timeout | Restart a container | ||
container/diff | containerId | Inspect changes on a container | ChangeLog | |
container/kill | containerId, signal | Kill a container | ||
container/top | containerId, psArgs | List processes running in a container | TopContainerResponse | |
container/pause | containerId | Pause a container | ||
container/unpause | containerId | Unpause a container | ||
container/commit | containerId, repository, message, tag, attachStdIn, attachStdOut, attachStdErr, cmd, disableNetwork, pause, env, exposedPorts, hostname, memory, memorySwap, openStdIn, portSpecs, stdInOnce, tty, user, volumes, hostname | Create a new image from a container's changes | String | |
container/copyfile | containerId, resource, hostPath | Copy files or folders from a container | InputStream | |
container/remove | containerId, force, removeVolumes | Remove a container |
Examples
The following example consumes events from Docker:
from("docker://events?host=192.168.59.103&port=2375").to("log:event");
The following example queries Docker for system wide information
from("docker://info?host=192.168.59.103&port=2375").to("log:info");