From c0f01e01e26678166f26d4379c4f12de5f90878c Mon Sep 17 00:00:00 2001
From: Eduard Staniloiu <edi33416@gmail.com>
Date: Fri, 11 Mar 2022 22:57:21 +0200
Subject: [PATCH] Use conda in docker

---
 labs/conda/docker/Dockerfile    | 33 +++++++++++++++++++++++++++++++++
 labs/conda/docker/Makefile      | 24 ++++++++++++++++++++++++
 labs/conda/docker/conda-env.yml | 13 +++++++++++++
 labs/conda/docker/entrypoint.sh |  6 ++++++
 4 files changed, 76 insertions(+)
 create mode 100644 labs/conda/docker/Dockerfile
 create mode 100644 labs/conda/docker/Makefile
 create mode 100644 labs/conda/docker/conda-env.yml
 create mode 100755 labs/conda/docker/entrypoint.sh

diff --git a/labs/conda/docker/Dockerfile b/labs/conda/docker/Dockerfile
new file mode 100644
index 0000000..4f7fb05
--- /dev/null
+++ b/labs/conda/docker/Dockerfile
@@ -0,0 +1,33 @@
+FROM ubuntu:20.04
+
+LABEL maintainer="eduard.staniloiu@upb.ro" \
+      name="ASC Grid Docker Image" \
+      version=${VERSION}
+
+ENV DEBIAN_FRONTEND="noninteractive"
+
+ENV TZ=Europe/Bucharest
+
+WORKDIR /app
+
+RUN apt-get update
+
+RUN apt-get install -y wget
+
+RUN apt-get install -y python3
+
+RUN wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh
+
+RUN chmod +x ~/miniconda.sh && ~/miniconda.sh -b -p $HOME/miniconda
+
+COPY ./conda-env.yml /app/
+
+COPY ./entrypoint.sh /entrypoint.sh
+
+RUN ["chmod", "+x", "/entrypoint.sh"]
+
+RUN /entrypoint.sh conda init bash
+RUN /entrypoint.sh conda env create -f /app/conda-env.yml
+#RUN ~/miniconda/bin/conda create -f /app/conda-env.yml
+
+ENTRYPOINT ["/entrypoint.sh"]
diff --git a/labs/conda/docker/Makefile b/labs/conda/docker/Makefile
new file mode 100644
index 0000000..baec01f
--- /dev/null
+++ b/labs/conda/docker/Makefile
@@ -0,0 +1,24 @@
+version=1.0.1
+registry=gitlab.cs.pub.ro:5050/asc/asc-public
+img_name=conda-labs
+tag_name=${registry}/${img_name}:${version}
+#tag_name=test-asc:${img_name}-${version}
+
+build:
+	docker image build -t ${tag_name} --build-arg VERSION=${version} .
+
+test:
+	docker run --rm -it --name ${img_name} ${tag_name} /bin/bash
+
+run: build
+	docker run -it --name ${img_name} -e QT_DEBUG_PLUGINS=1 ${tag_name} /bin/bash
+
+bash:
+	docker exec -it ${img_name} /bin/bash
+
+push:
+	docker push ${tag_name}
+
+clean:
+	docker rm -f ${img_name}
+	docker image rm ${tag_name}
diff --git a/labs/conda/docker/conda-env.yml b/labs/conda/docker/conda-env.yml
new file mode 100644
index 0000000..8eaf438
--- /dev/null
+++ b/labs/conda/docker/conda-env.yml
@@ -0,0 +1,13 @@
+name: conda-test
+channels:
+    - pytorch
+    - conda-forge
+    - anaconda
+    - defaults
+dependencies:
+    - python=3.8
+    - pip
+    - pip:
+        - scipy
+        - numpy
+
diff --git a/labs/conda/docker/entrypoint.sh b/labs/conda/docker/entrypoint.sh
new file mode 100755
index 0000000..ea765e5
--- /dev/null
+++ b/labs/conda/docker/entrypoint.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+set -e
+
+export PATH=~/miniconda/bin:$PATH
+
+exec "$@"
-- 
GitLab