Git Product home page Git Product logo

docker's Introduction

Dockerized Business Analytics

This repo contains information to setup a docker image with R, Rstudio, Shiny, Radiant, Python, Postgres, JupyterLab, and Code-Server (aka VSCode)

Install Docker

To use the docker images you first need to install Docker

After installing Docker, check that it is running by typing docker --version in a terminal. This should return something like the below:

docker --version
Docker version 18.09.2, build 6247962

On windows please install Git Bash:

http://www.techoism.com/how-to-install-git-bash-on-windows/

For detailed install instructions on Windows see install/rsm-msba-windows.md

For detailed install instructions on macOS see install/rsm-msba-macos.md

r-focal

You probably don't want to run this image by itself. It is used in the radiant, rsm-msba-spark, and rsm-jupyterhub, application (see below). To build a new container based on r-focal add the following at the top of your Dockerfile

FROM vnijs/r-focal:latest

To build r-focal yourself use:

docker build -t $USER/r-focal ./r-focal

To push to docker hub use:

sudo docker login 
docker push $USER/r-focal

radiant

The second image builds on r-focal and adds radiant and required R-packages. To build a new container based on radiant add the following at the top of your Dockerfile

FROM vnijs/radiant:latest

To allow execution of R-code in Report > Rmd and Report > R in Radiant add the following to .Rprofile in your home directory

options(radiant.ace_vim.keys = FALSE)
options(radiant.maxRequestSize = -1)
# options(radiant.maxRequestSize = 10 * 1024^2)
options(radiant.report = TRUE)
# options(radiant.shinyFiles = TRUE)
# options(radiant.ace_theme = "cobalt")
options(radiant.ace_theme = "tomorrow")
# options(radiant.ace_showInvisibles = TRUE)

rsm-msba and rsm-msba-spark

The third and forth images build on the radiant image and adds python, jupyter lab, postgresql, spark, and Code-Server (aka VSCode). To build a new container based on rsm-msba-spark add the following at the top of your Dockerfile

FROM vnijs/rsm-msba-spark:latest

rsm-jupyterlab

This image builds on rsm-msba-spark and is set up to be accessible from a server running jupyter hub.

rsm-vscode

This image contains all R and Python libraries found in rsm-msba-spark and rsm-jupterlab but does not include Jupyter Lab, Shiny server, Rstudio server, or VSCode (codeserver). It is intended to be used with a local install of VSCode. Once you start the container using launch-rsm-vscode you can use "Remote-Containers: Attach to Running Container" from VSCode to connect. Recommended extensions to use with the container are shown in the screenshot below:

vscode extension

Trouble shooting

To stop (all) running containers use:

docker kill $(docker ps -q)

If the build fails for some reason you can access the container through the bash shell using to investigate what went wrong:

docker run -t -i $USER/rsm-msba-spark /bin/bash

To remove an existing image use:

docker rmi --force $USER/rsm-msba-spark

To remove stop all running containers, remove unused images, and errand docker processes use the dclean.sh script

./scripts/dclean.sh

General docker related commands

Check the disk space used by docker images

docker ps -s
docker system df

Trademarks

Shiny and Shiny Server are registered trademarks of RStudio, Inc. The use of the trademarked terms Shiny and Shiny Server and the distribution of the Shiny Server through the images hosted on hub.docker.com has been granted by explicit permission of RStudio. Please review RStudio's trademark use policy and address inquiries about further distribution or other questions to [email protected].

Jupyter is distributed under the BSD 3-Clause license (Copyright (c) 2017, Project Jupyter Contributors)

Acknowledgements

Thanks to Ajar Vashisth for helping me get started with Docker and Docker Compose

docker's People

Contributors

ajitkr1994 avatar vnijs avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.