-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
91 lines (55 loc) · 1.96 KB
/
Makefile
File metadata and controls
91 lines (55 loc) · 1.96 KB
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#rootpwd=screencastsafe
rootpwd=$(shell xxd -l 16 -p /dev/random)
imagename_build=holimg_build
imagename_dohub=andreaslindner/hol4docker
containername=holcontainer
#sharetarget=$(shell pwd)/share
#sharetarget=$(HOME)
sharetarget=/NOBACKUP/projects/holcourse
USERNAME=$(USER)
# 0 for ssh, 1 for direct x server
withxserver=1
# 0 in case your user is in the group docker (then you have sufficient privilegies to run docker commands), 1 otherwise
usesudo=0
ifeq ($(usesudo),0)
dockerprefix=
else
dockerprefix=sudo
endif
emacs: emacs-w
build: Dockerfile
$(dockerprefix) docker build -t $(imagename_build) .
#$(dockerprefix) docker build -t $(imagename_build) -rm=true .
echo $(imagename_build) > imagename
push_build:
# push
$(dockerprefix) docker login
$(dockerprefix) docker tag $(imagename_build) andreaslindner/hol4docker
$(dockerprefix) docker push andreaslindner/hol4docker
pull:
# pull
$(dockerprefix) docker pull $(imagename_dohub)
echo $(imagename_dohub) > imagename
configure: configure_container.sh configure_container_script imagename
rm -rf out
mkdir out
mkdir -p share
./configure_container.sh $(rootpwd) $(shell cat imagename) $(containername) $(sharetarget) $(withxserver) "$(dockerprefix)"
touch configure
clean:
rm -rf out
rm -f configure
$(dockerprefix) docker container stop $(containername)
$(dockerprefix) docker container rm $(containername)
stop: configure
$(dockerprefix) docker container stop $(containername)
start: configure
$(dockerprefix) docker container start $(containername)
bash: start
$(dockerprefix) docker container exec -it -u $(USERNAME) $(containername) /bin/bash -c "sudo -u $(USERNAME) bash"
emacs-w: start
$(dockerprefix) docker container exec -it -u $(USERNAME) $(containername) /bin/bash -c "sudo -u $(USERNAME) emacs"
emacs-nw: start
$(dockerprefix) docker container exec -it -u $(USERNAME) $(containername) /bin/bash -c "sudo -u $(USERNAME) emacs -nw"
ssh: start
ssh -X -p9922 $(USERNAME)@127.0.0.1