-
-
Notifications
You must be signed in to change notification settings - Fork 2
/
dockerize-datascience.sh
59 lines (50 loc) · 2.62 KB
/
dockerize-datascience.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
alias python3.8='docker run --rm -it -v "${PWD}":/usr/src/app -w /usr/src/app python:3.8 python'
alias python3.9='docker run --rm -it -v "${PWD}":/usr/src/app -w /usr/src/app python:3.9 python'
alias python3.10='docker run --rm -it -v "${PWD}":/usr/src/app -w /usr/src/app python:3.10 python'
alias python3.11='docker run --rm -it -v "${PWD}":/usr/src/app -w /usr/src/app python:3.11 python'
alias python='docker run --rm -it -v "${PWD}":/usr/src/app -w /usr/src/app python:latest python'
alias jupyter='docker run --rm -p 8888:8888 -p 4040:4040 -v "${PWD}":/home/jovyan franzdiebold/datascience-ultimate:latest'
alias jupyter-server='docker run --rm -p 8888:8888 -p 4040:4040 -v "${PWD}":/home/jovyan franzdiebold/datascience-ultimate-server:latest'
# PyEnvD: Python environment dockerized
slugify() {
echo "$1" | iconv -t ascii//TRANSLIT | sed -E 's/[^a-zA-Z0-9-]+/-/g' | sed -E 's/^-+|-+$//g' | tr A-Z a-z
}
env_name() {
echo $(slugify ${${1:-$PWD}: -200})
}
py-env-3.8() {
docker run --rm -it -v "$(env_name $1)_python":/usr/local/lib -v "${PWD}":/usr/src/app -w /usr/src/app python:3.8 bash
}
py-env-3.9() {
docker run --rm -it -v "$(env_name $1)_python":/usr/local/lib -v "${PWD}":/usr/src/app -w /usr/src/app python:3.9 bash
}
py-env-3.10() {
docker run --rm -it -v "$(env_name $1)_python":/usr/local/lib -v "${PWD}":/usr/src/app -w /usr/src/app python:3.10 bash
}
py-env-3.11() {
docker run --rm -it -v "$(env_name $1)_python":/usr/local/lib -v "${PWD}":/usr/src/app -w /usr/src/app python:3.11 bash
}
py-env() {
docker run --rm -it -v "$(env_name $1)_python":/usr/local/lib -v "${PWD}":/usr/src/app -w /usr/src/app python:latest bash
}
py-env-del() {
docker volume rm "$(env_name $1)_python"
}
jupyter-env() {
local working_directory="/usr/src/$(basename ${PWD})"
local ssh_directory="${HOME}/.ssh"
docker run --rm -p 8888:8888 -p 4040:4040 -v "$(env_name $1)_jupyter":/opt/conda/lib/python3.9/site-packages -v "${PWD}":"$working_directory" -v $ssh_directory:/home/jovyan/.ssh -w $working_directory franzdiebold/datascience-ultimate:latest
}
alias je=jupyter-env
jupyter-env-del() {
docker volume rm "$(env_name $1)_jupyter"
}
jupyter-server-env() {
local working_directory="/usr/src/$(basename ${PWD})"
local ssh_directory="${HOME}/.ssh"
docker run --rm -p 8888:8888 -p 4040:4040 -v "$(env_name $1)_jupyter-server":/opt/conda/lib/python3.9/site-packages -v "${PWD}":"$working_directory" -v $ssh_directory:/home/jovyan/.ssh -w $working_directory franzdiebold/datascience-ultimate-server:latest
}
alias jes=jupyter-server-env
jupyter-server-env-del() {
docker volume rm "$(env_name $1)_jupyter-server"
}