Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save jeromy-vandusen-obs/a9e5848856f7b84f17eecb4bc91736d1 to your computer and use it in GitHub Desktop.
Save jeromy-vandusen-obs/a9e5848856f7b84f17eecb4bc91736d1 to your computer and use it in GitHub Desktop.
Development Tools in Docker Containers Cheat Sheet

Development Tools in Docker Containers Cheat Sheet

Add to .bash_profile or .bashrc:

function git() {
  (docker run -it --rm -v ${HOME}:/root -v "$(pwd)":/git bitnami/git:latest "$@")
}

function mvn() {
  (docker run -it --rm -v "$(pwd)":/usr/src/project -v ~/.m2:/root/.m2 -w /usr/src/project maven:3-jdk-8-slim mvn "$@")
}

function gradle() {
  (docker run -it --rm -u gradle -v "$(pwd)":/home/gradle/project -v ~/.gradle:/home/gradle/.gradle -w /home/gradle/project gradle:latest gradle "$@")
}

function npm() {
  (docker run -it --rm -u node -p 3000:3000 -v "$(pwd)":/home/app -w /home/app node:latest npm "$@")
}

function gcp() {
  (docker run -it --rm -v ~/.gcp_bashrc:/root/.bashrc -v "$(pwd)":/root/project -w /root/project --name gcp-cloud-sdk gcr.io/google.com/cloudsdktool/cloud-sdk:latest /bin/bash)
}

The GCP command defined above requires the addition of a .gcp_bashrc in the home directory:

export LS_OPTIONS='--color=auto'
alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -al'
alias l='ls $LS_OPTIONS -l'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment