2016-04-06 16 views
5

tôi có thể bắt đầu một hình ảnh trung tâm selen qua:Làm cách nào để khởi động hub selenium và một nút được liên kết thông qua docker-compose thay vì sử dụng docker?

docker run --rm=true -P -p 4444:4444 --name selenium-hub selenium/hub 

và thêm một nhân viên firefox qua:

docker run --rm=true --link selenium-hub:hub selenium/node-firefox 

Đi trên http://localhost:4444/grid/console sau đó sẽ hiển thị các lưới tốt.

Tôi không muốn sử dụng docker mỗi lần nhưng có cùng thiết lập qua docker-compose.

Do đó, tôi nghĩ rằng tôi chỉ có thể làm điều này trong tôi docker-compose.yml:

selenium_hub: 
    image: selenium/hub 
    ports: ["4444:4444"] 
    links: 
     - selenium_firefox_worker 
selenium_firefox_worker: 
    image: selenium/node-firefox 

Tuy nhiên, sau khi chạy docker-compose up Tôi nhận được thông báo:

selenium_firefox_node_1 | Not linked with a running Hub container 
selenium_firefox_node_1 exited with code 1 

và do đó lưới điện không hiển thị bất kỳ nút .

Tôi nghĩ rằng tôi có thể làm việc liên kết theo thứ tự sai, nhưng thậm chí:

selenium_hub: 
    image: selenium/hub 
    ports: ["4444:4444"] 
selenium_firefox_node: 
    image: selenium/node-firefox 
    links: 
     - selenium_hub 

sản lượng trong cùng một lỗi.

Tôi đang làm gì sai?

+0

Tôi nghĩ đó là tên máy chủ. Có thể bạn đang cố gắng kết nối với tên máy chủ "hub", nhưng liên kết mà bạn đang tạo thực sự là "selenium_firefox_worker"? –

Trả lời

3
selenium_hub: 
    image: selenium/hub 
    ports: ["4444:4444"] 
selenium_firefox_node: 
    image: selenium/node-firefox 
    links: 
     - "selenium_hub:hub" 

Trong khi k0pernikus' answer không hoạt động, tôi chỉ muốn giải thích lý do tại sao nó không thành công.

Các container nút mong đợi để kết nối với một trung tâm đó là phân giải một cách đơn giản:

hub 

chứ không phải là trong ví dụ của họ, nơi nó sẽ được phân giải như:

selenium_hub 
5

Stumbling across this tutorial, đã có cú pháp này được cung cấp. Và mặc dù nó tương tự như một trong những cách tiếp cận của tôi, nó hoạt động.

hub: 
    image: selenium/hub 
    ports: 
    - "4444:4444" 
firefox: 
    image: selenium/node-firefox 
    links: 
    - hub 
chrome: 
    image: selenium/node-chrome 
    links: 
    - hub 

Có vẻ như điều gì đó về đặt tên, nhưng không chắc chắn.

6

Là một mặt lưu ý, nếu sử dụng định dạng phiên bản 2 của docker-compose, bạn phải chỉ định một vài biến env, nếu không nút sẽ không kết nối với hub:

version: '2' 
services: 
    hub: 
     image: selenium/hub 
     ports: 
      - "4444:4444" 

    firefox: 
     image: selenium/node-firefox 
     environment: 
      HUB_PORT_4444_TCP_ADDR: hub 
      HUB_PORT_4444_TCP_PORT: 4444 
     links: 
      - hub 

Khoản tín dụng: Containers are not linked with docker-compose version 2

+1

Hoạt động với phiên bản '2.1' cũng –

Các vấn đề liên quan