簡體   English   中英

EC2 上的 RSelenium 和 Docker

[英]RSelenium and Docker on EC2

我的最終目標是能夠通過我的 EC2 實例 (AWS) 使用

為此,我讀到建議在虛擬機上使用和安裝 docker。 所以我遵循了 John D Harrison 給出的所有步驟: https : //rpubs.com/johndharrison/RSelenium-Docker

一切都很順利,除了最后當我在我的EC2實例上進入RStudio時。 因為當我嘗試連接到遠程服務器時,出現以下錯誤:

library(RSelenium) remDr <- remoteDriver(remoteServerAddr = "192.168.99.100", port = 4445L) remDr$open()

1 “連接到遠程服務器” checkError(res) 中的錯誤:httr 調用中的未定義錯誤。 httr 輸出:已達到超時:10001 毫秒后連接超時

我遵循了教程中給出的確切步驟,所以我真的不知道出了什么問題。

非常感謝任何幫助!

M。

EDIT1:請在下面找到我目前所擁有的截圖: 在此處輸入圖片說明

在此處輸入圖片說明

在此處輸入圖片說明

在此處輸入圖片說明

編輯 5:EC2 中的安全組端口

我使用的 EC2 實例如下: 我使用的 EC2 實例如下:

以下對我有用。

創建一個安裝了 Docker 的 EC2 Ubuntu 實例。 我沒有使用 Windows。

在EC2實例上運行selenium docker鏡像如下

docker run -d -p 4445:4444 selenium/standalone-firefox:2.53.0 

通過在安全組中創建適當的條目,確保從運行 R 的 IP 地址打開端口 4445。

在可以看到 EC2 實例的台式機上,使用此 R 代碼連接...

library(RSelenium)
remDr <- remoteDriver(remoteServerAddr = "ec2-xxx.eu-west-1.compute.amazonaws.com", port = 4445L)
remDr$open()

#[1] "Connecting to remote server"
#$applicationCacheEnabled
#[1] TRUE

#$rotatable
#[1] FALSE

#$handlesAlerts
#[1] TRUE
#...

注意 EC2 實例的地址是“ec2...”。 此地址可從 AWS 控制台獲得,並且是實例的公共 DNS 名稱。 如果您碰巧在另一台 AWS 機器上運行 R,那么您可能需要使用私有 DNS 地址。

[編輯添加在雲端運行 Rstudio 的說明]

找到 Selenium 容器的 IP 地址。 一種方法是按如下方式登錄

docker exec -it <nameofthecontainer> bash
hostname -i
exit

要在與 Selenium 相同的 EC2 機器上運行 Rstudio,一種選擇是使用 Docker。 一個好的圖像是rocker/rstudio

請執行下列操作。

docker run -d -p 8787:8787 -e PASSWORD=<password> --name rstudio rocker/rstudio

確保端口 8787 對您開放,您可以從那里訪問 Rstudio。 在實例的安全組中添加條目以執行此操作。

要在 Rstudio docker 容器中安裝 RSelenium,請執行以下操作。

docker exec rstudio bash
apt-get update
apt-get install -y libxml2-dev
exit

找到 Rstudio GUI 的 URL - 它會是這樣的

http://ec2-xxx:8787 

用戶名是 rstudio,密碼是您在啟動容器時指定的任何內容。

從 Rstudio 安裝 RSelenium 包。

install.packages("RSelenium")

最后運行 R 代碼來訪問 Selenium 實例。

library(RSelenium)
remDr <- remoteDriver(remoteServerAddr = "IP address of the Selenium container", port = 4445L)
remDr$open()

謝謝@awchisholm! 正如您所解釋的,我需要在我的 EC2 實例上而不是在我的本地機器上安裝 docker。 問題解決了!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM