2017-02-28 11 views
2

異なるホストマシンでノード/クロムとセレン/ハブ画像を使用する必要がある状況があります。これは、リンクされますdoesntの、または他の言葉でハブがノードを発見されていない異なるホストマシンのセレニウムノード/クロムドッカー画像とセレン/ハブドッカー画像

- name: seleniumchromenode container 
    docker: 
    name: seleniumhubchromenode 
    image: "{{ seleniumchromenode_image }}" 
    state: "{{ 'started' }}" 
    pull: always 
    restart_policy: always 
    links: seleniumhub:hub 

:私はansible役割でそれらをリンクしていますが、以下のようにしかし、問題があります。ハブとノードが同じホストマシン内にある場合にのみリンクが機能するかどうかお知らせください。

答えて

2

以下は最終的に私のために働いたものです。 SE_OPTSは、ノードが別のホストにあるハブに正常にリンクできるようにするために必要です。

- name: seleniumchromenode container 
    docker_container: 
    name: seleniumhubchromenode 
    image: "{{ seleniumchromenode_image }}" 
    state: "{{ 'started' }}" 
    pull: true 
    restart_policy: always 
    exposed_ports: 
     - "{{seleniumnode_port}}" 
    published_ports: 
     - "{{seleniumnode_port}}:{{seleniumnode_port}}" 
    env: 
     HUB_PORT_4444_TCP_ADDR: "{{seleniumhub_host}}" 
     HUB_PORT_4444_TCP_PORT: "{{seleniumhub_port}}" 
     SE_OPTS: "-host {{seleniumnode_host}} -port {{seleniumnode_port}}" 
     NODE_MAX_INSTANCES: "5" 
     NODE_MAX_SESSION: "5" 
3

リンクはマシン間では動作しません。 IPアドレス/ホスト名を指定して接続することもできますし、Docker Swarm Modeを使用してコンテナを展開することもできます(リンク先にメッシュネットワークを設定するので、サービスはお互いを見つけることができます)。

Simplest:ホスト名をAnsibleに渡すだけです。

+1

ありがとうございます、私はあなたの提案がここにコードを投稿することで、これを解決することができました。 – trial999

関連する問題