-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile.DOCKER
43 lines (33 loc) · 1.4 KB
/
Makefile.DOCKER
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
IMAGE_NAME := docker-julia-jupyter
LIVE_IMAGE_NAME := docker-pluto-live
PUBLIC_IMAGE_NAME := gonzih/tft.jl
CONTAINER_NAME := gonzih-tft
DOCKER_PORT_ARGS := -p 8888:8888 -p 1234:1234 -p 2345:2345
DOCKER_GPU_ARGS := --gpus all
DOCKER_V_ARGS := -v $(shell pwd)/notebooks:/notebooks --env-file ./.env
DOCKER_NAME_ARG := --name $(CONTAINER_NAME) --rm
DOCKER_ARGS := $(DOCKER_NAME_ARG) $(DOCKER_PORT_ARGS) $(DOCKER_V_ARGS)
DOCKER_TAG := 7
docker-run: build-docker-image
docker run $(DOCKER_ARGS) -ti $(IMAGE_NAME)
docker-run-pluto-live: build-docker-image
docker run $(DOCKER_ARGS) -ti $(LIVE_IMAGE_NAME)
docker-shell: build-docker-image
docker run $(DOCKER_V_ARGS) -ti $(IMAGE_NAME) su -c julia julia
build-docker-image:
docker build -f Dockerfile.dev -t $(IMAGE_NAME) .
docker build -f Dockerfile.live -t $(LIVE_IMAGE_NAME) .
build-public-image:
docker build -f Dockerfile.public -t $(PUBLIC_IMAGE_NAME):latest .
docker tag $(PUBLIC_IMAGE_NAME):latest $(PUBLIC_IMAGE_NAME):$(DOCKER_TAG)
docker-run-public:
docker run $(DOCKER_NAME_ARG) $(DOCKER_PORT_ARGS) -t $(PUBLIC_IMAGE_NAME)
docker-pull-public:
docker pull $(PUBLIC_IMAGE_NAME):latest
docker-cp-from-public: clear-data
docker run $(PUBLIC_IMAGE_NAME) tar cvz /app/notebooks/data > /tmp/arch.tar
tar xvzf /tmp/arch.tar
mv -f app/notebooks/data/*.csv notebooks/data/
rm -rf app/ /tmp/arch.tar
docker-push-public:
docker push --all-tags $(PUBLIC_IMAGE_NAME)