2016-08-01 11 views
5

Tôi đang chạy một docker (Điều đó tôi tự xây dựng), đó là docker chạy thử nghiệm E2E. Trình duyệt đang hoạt động nhưng tôi muốn có một tính năng thú vị khác, tôi muốn có khả năng xem phiên trực tuyến.Làm thế nào để xem phiên xvfb bên trong một docker trên máy chủ từ xa từ trình duyệt địa phương của tôi?

lệnh My docker run là:

docker run -p 4444:4444 --name ${DOCKER_TAG_NAME} 
      -e Some_ENVs 
      -v Volume:Volume 
      --privileged 
      -d "{docker-registry}" >> /dev/null 2>&1 

Tôi có thể xuất ảnh chụp màn hình nhưng trong một số trường hợp nó không đủ và khả năng quan sát những gì là tình trạng chính xác của thử nghiệm sẽ là tuyệt vời. Tôi đã thử rất nhiều lựa chọn nhưng tôi đã đến một kết thúc chết, Bất kỳ trợ giúp nào cũng sẽ tuyệt vời.

  • xét nghiệm của tôi là trong Python 2.7
  • My Docker cơ sở là ubuntu:14.04
  • môi trường của tôi là trong AWS (Nếu đó là vấn đề)
  • Các Docker chạy trên máy chủ Ubuntu.

  • Tôi biết nó là một bản sao của this nhưng không có ai trả lời ông như vậy ...

+0

Điều này có thể giúp: http://stackoverflow.com/questions/12050021/how-to-make-xvfb-display-visible –

+0

Tôi đã xem câu hỏi này, vấn đề của tôi là không xem phiên từ máy chủ mà docker chạy, đó là tôi muốn xem phiên bên trong docker bên trong một máy chủ. Cảm ơn bạn đã cố gắng giúp đỡ –

Trả lời

2

Có một công cụ gần đây được gọi là Selenoid. Trình duyệt sẽ khởi chạy các trình duyệt trong các vùng chứa Docker (ví dụ: không cần headless như bạn yêu cầu). Nó có khả năng hiển thị UI độc lập để hiển thị màn hình phiên trực tiếp qua VNC. Vì vậy, bạn có thể khởi chạy nhiều phiên song song và sau đó xem và thậm chí chặn các hành động xảy ra trong trình duyệt mục tiêu. Tất cả những thứ này hoàn toàn hoạt động trong môi trường đám mây.

+0

Âm thanh rất hứa hẹn, tôi cho nó một shot, nhưng đối với nó không nhận được tốt .. https://github.com/aerokube/selenoid/issues/102 Tôi sẽ cập nhật như thế nào là nó đi. Cảm ơn một bản ghi! –

+0

Đã được trả lời ở đó. Hãy thử với những hình ảnh này: https://hub.docker.com/r/selenoid/vnc/ –

0

tôi đã phải đối mặt với cùng một vấn đề trước với vnc, bạn cần phải biết Xvfb bạn/vnc trong đó cảng sử dụng sau đó mở cổng trên bạn aws secuirty nhóm một khi bạn thực hiện với điều đó thì bạn sẽ có thể kết nối.

Trong trường hợp của tôi, tôi đã bắt đầu selenium docker "https://github.com/elgalu/docker-selenium" và sử dụng lệnh này để khởi động máy docker "docker run -d --name = grid -p 4444: 24444 -p 5900: 25900 \ -v/dev/shm:/dev/shm -e VNC_PASSWORD = hola \ -e SCREEN_WIDTH = 1920 -e SCREEN_HEIGHT = 1480 \ elgalu/selen"

cổng VNC theo lệnh là "5900" vì vậy tôi mở rằng cổng trên nhóm bảo mật ví dụ và được kết nối bằng trình xem VNC trên cổng 5900

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