Official ikanx101.com R Studio Server Dockerfile
Repository ini berisi setting awal saya membuat Docker container untuk R Studio Server.
Untuk menginstall Docker di Ubuntu, silakan refer ke situs ini.
Cara membuat container
Berikut adalah langkah-langkahnya:
- Buat dan modifikasi file
Dockerfile
. Saya memasukan beberapa presets seperti ini:- Versi R terbaru.
- Libraries linux untuk web scrape dan GLPK.
- Libraries R yang sering saya pakai.
- Setelah itu kita login ke Docker server dengan perintah berikut:
docker login
- Lalu kita buat container-nya dengan perintah berikut:
docker build -t ikanx101/r-custom .
- Lalu kita akan upload container ini ke Docker server agar orang lain bisa menikmatinya juga.
sudo docker tag ikanx101/r-custom:latest ikanx101/r-custom:latest
sudo docker push ikanx101/r-custom:latest
Cara run container
Setelah ada di Docker server, kita bisa menggunakan container tersebut di mesin mana saja dengan cara buka Docker dan berikan perintah berikut:
# melakukan pull request dari Docker server
docker pull ikanx101/r-custom:latest
# run container
docker run --rm -p 8888:8787 -d \
-e USER=ikanx101 \
-e PASSWORD=ikanx101 \
-e USERID=1001 \
-e GROUPID=1001 \
-v ~:/home/ikanx101 ikanx101/r-custom:latest
Jangan lupa mengganti username dan password sesuai dengan kebutuhan.
Cara Run Container Selain R Studio Server
Firefox Only
docker pull selenium/standalone-firefox
docker run -d -p 4445:4444 standalone-firefox:2.53.0
# update per 21 Juni
# firefox nya harus downgrade agar bisa dipakai
docker pull selenium/standalone-firefox:4.8.0-20230123
docker run -d -p 4445:4444 selenium/standalone-firefox:4.8.0-20230123
Ini untuk memanggilnya di R:
library(rvest)
library(RSelenium)
remote_driver = remoteDriver(remoteServerAddr = "localhost", port = 4445L, browserName = "firefox")
remote_driver$open()
Untuk Menghubungkan Dua Containers
Biasa digunakan untuk mesin
yang tidak mau di-install R ke local.
docker run -d -p 4445:4444 --name myselcontainer selenium/standalone-firefox
# versi full
docker run -ti --rm -p 8888:8787 --link=myselcontainer \
-e USER=ikanx101 \
-e PASSWORD=ikanx101 \
-e USERID=1001 \
-e GROUPID=1001 \
-v ~:/home/ikanx101 ikanx101/r-custom:latest
# versi simple di windows
# username: rstudio
docker run --rm -p 8888:8787 --link=myselcontainer -e PASSWORD=ikanx101 ikanx101/r-custom:latest
Ini yang harus dimasukkan ke dalam RScript-nya:
library(rvest)
library(RSelenium)
remote_driver = remoteDriver(remoteServerAddr = "myselcontainer",
port = 4444L, browserName = "firefox")
remote_driver$open()