第38章 Docker
Docker コンポーネント リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Camel 2.15 以降で利用可能
Docker と通信するための Camel コンポーネント。
Docker Camel コンポーネントは、Docker Remote API を介して docker-java を利用します。
Maven ユーザーは、このコンポーネントの以下の依存関係を
pom.xml に追加する必要があります。
URI 形式 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
docker://[operation]?[options]
docker://[operation]?[options]
ここでの operation は、Docker で実行する固有のアクションです。
ヘッダーストラテジー リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
すべての URI オプションは、Header プロパティーとして渡すことができます。メッセージヘッダーにある値は URI パラメーターよりも優先されます。ヘッダープロパティーは、以下に示すように *CamelDocker* で始まる URI オプションの形式を取ります。
| URI オプション | ヘッダープロパティー |
|---|---|
| containerId | CamelDockerContainerId |
一般的なオプション リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
以下のパラメーターは、コンポーネントの呼び出しと合わせて使用できます。
| オプション | ヘッダー | 説明 | デフォルト値 |
|---|---|---|---|
| host | CamelDockerHost | 必須: Docker ホスト | localhost |
| port | CamelDockerPort | 必須:Docker ポート | 2375 |
| username | CamelDockerUserName | 認証に使用するユーザー名 | |
| password | CamelDockerPassword | 認証するパスワード | |
| CamelDockerEmail | ユーザーに関連付けられたメールアドレス | ||
| secure | CamelDockerSecure | HTTPS 通信の使用 | false |
| requestTimeout | CamelDockerRequestTimeout | 応答の要求タイムアウト(秒単位) | 30 |
| certPath | CamelDockerCertPath | SSL 証明書チェーンを含む場所 |
コンシューマー操作 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
コンシューマーは以下の操作をサポートします。
| 操作 | オプション | 説明 | 生成されるアイテム |
|---|---|---|---|
| events | initialRange | Docker イベントの監視(ストリーム) | イベント |
プロデューサー操作 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
以下のプロデューサー操作を使用できます。
| その他操作 | オプション | 説明 | 戻り値 |
|---|---|---|---|
| auth | 認証設定の確認 | ||
| info | システム全体の情報 | Info | |
| ping | Docker サーバーに ping します。 | ||
| version | Docker バージョン情報を表示します。 | バージョン |
| イメージ操作 | オプション | 説明 | 本文の内容 | 戻り値 |
|---|---|---|---|---|
| image/list | filter, showAll | イメージを一覧表示します。 | List<Image> | |
| image/create | repository | イメージを作成する | InputStream | CreateImageResponse |
| image/build | noCache、quiet、remove、tag | stdin で Dockerfile からイメージを構築する | InputStream または File | InputStream |
| image/pull | リポジトリー、レジストリー、タグ | レジストリーからイメージをプルします。 | InputStream | |
| image/push | name | イメージをレジストリーにプッシュします。 | InputStream | |
| image/search | 用語 | イメージの検索 | List<SearchItem> | |
| image/remove | imageId | イメージの削除 | ||
| image/tag | imageID、repository、tag、force | イメージをリポジトリーにタグ付けします。 | ||
| image/inspect | imageId | イメージの検証 | InspectImageResponse |
| コンテナー操作 | オプション | 説明 | 本文の内容 | 戻り値 |
|---|---|---|---|---|
| container/list | showSize、showAll、before、since、limit、List コンテナー | initialRange | List<Container> | |
| container/create | imageID、name、exposeedPorts、workDir、disableNetwork、hostname、user、tty、stdInOpen、stdInOnce、memoryLimit、memorySwap、cpuShares、attachStdIn、attachStdOut、attachStdErr、env、cmd、dns、image、volumesFrom | コンテナーを作成します。 | CreateContainerResponse | |
| container/start |
containerId, bind, links, lxcConf, portBindings, privileged, publishAllPorts, dns, dnsSearch, volumesFrom, networkMode, devices, restartPolicy, capAdd, capDrop
|
コンテナーの起動 | ||
| container/inspect | containerId | コンテナーの検査 | InspectContainerResponse | |
| container/wait | containerId | コンテナーの待機 | 整数 | |
| container/log | containerId, stdOut, stdErr, timestamps, followStream, tailAll, tail | コンテナーログの取得 | InputStream | |
| container/attach | containerId、stdOut、stdErr、タイムスタンプ、logs、followStream | コンテナーへの割り当て | InputStream | |
| container/stop | containerId, timeout | コンテナーの停止 | ||
| container/restart | containerId, timeout | コンテナーの再起動 | ||
| container/diff | containerId | コンテナーの変更の検証 | ChangeLog | |
| container/kill | containerId、signal | コンテナーの強制終了 | ||
| container/top | containerId, psArgs | コンテナーで実行しているプロセスを一覧表示します。 | TopContainerResponse | |
| container/pause | containerId | コンテナーの一時停止 | ||
| container/unpause | containerId | コンテナーの一時停止解除 | ||
| container/commit | containerId, repository, message, tag, attachStdIn, attachStdOut, attachStdErr, cmd, disableNetwork, pause, env, exposedPorts, hostname, memory, memorySwap, openStdIn, portSpecs, stdInOnce, tty, user, volumes, hostname | コンテナーの変更から新規イメージを作成します。 | 文字列 | |
| container/copyfile | containerId, resource, hostPath | コンテナーからファイルまたはフォルダーをコピーする | InputStream | |
| container/remove | containerId、force、removeVolumes | コンテナーの削除 |
例 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
以下の例では、Docker からのイベントを使用します。
from("docker://events?host=192.168.59.103&port=2375").to("log:event");
from("docker://events?host=192.168.59.103&port=2375").to("log:event");
以下の例では、Docker に対してシステム全体の情報をクエリーします。
from("docker://info?host=192.168.59.103&port=2375").to("log:info");
from("docker://info?host=192.168.59.103&port=2375").to("log:info");