RYUコントローラのドッカーコンテナをcloudifyの方法で実行したいと思います。関連するデプロイメントを作成し、最終的にドッカーコンテナを開始するための青写真ファイルを作成しました。dockerコンテナでコマンドを自動的に実行するための青写真をcloudulateで編集する方法
問題は、コントローラ(ドッキング・コンテナ内)が機能するスクリプトを実装する必要がありますが、スクリプトを自動的に実行するための青写真ファイルを変更する方法がわかりません。毎回、目標のためにdocker exec CONTAINER ryu-manager /path/simple_switch.py
と入力する必要があります。
だから誰でも、青写真にコマンドを入れるべき場所を知っている。私はそれを含めようとしました
interfaces:
cloudify.interfaces.lifecycle:
create:
implementation: docker.docker_plugin.tasks.create_container
inputs:
params:
ports:
- { get_input: docker_port }
stdin_open: true
tty: true
command: /bin/bash
start:
implementation: docker.docker_plugin.tasks.start
inputs:
params:
port_bindings: { get_input: container_port_binding }
command: docker exec ryu ryu-manager /ryu/ryu/app/simple_switch.py
# here ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
しかし、予期しないパラメータのエラーを受け取りました。
お時間をありがとうと任意の意見は〜
またはdocker exec
と一致するcloudify青写真でどの部分、誰もが知っているなら、私は、このように入れましょうをいただければ幸いですか!
うわー!これはクールでシンプルに聞こえるよ!私は公式プラグインを使うことが必須だと思った。どうもありがとう!私は試してみるよ。 – Lootii
それはあなたが思いついたようにうまく動作します!しかし、旗は疑問の余地がないかもしれません。コンテナは 'run -d'によって実行を続行できず、' -t'は '入力デバイスはtty'エラーではありません。とにかく、解決策は本当に大きな助けになります。再度、感謝します! – Lootii
こんにちは、@土星!もう1つ質問できますか?ドッカーコンテナはスクリプトによって実行されるので、コンテナの状態は単にスクリプトの結果に過ぎないのでしょうか?つまり、コンテナは実際にはクラウディングノードとは何の関係もありません。 (私は自分自身が他の手段でコンテナに影響を与えることができないことを発見しました...) – Lootii