ikanx101 / docker-r-customize

Docker Container utk setting RStudio versi ikanx101.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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()

About

Docker Container utk setting RStudio versi ikanx101.com

License:MIT License


Languages

Language:Dockerfile 91.6%Language:Shell 8.4%