-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
110 lines (85 loc) · 2.57 KB
/
Copy pathDockerfile
File metadata and controls
110 lines (85 loc) · 2.57 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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
##################################################
# Dockerfile for project_quickstart
# https://github.com/AntonioJBT/project_quickstart
##################################################
############
# Base image
############
# FROM python:3-onbuild
# FROM ubuntu:17.04
FROM jfloff/alpine-python:3.8
# https://github.com/jfloff/alpine-python
# This is a minimal Python 3 image that can start from python or bash
# Or simply run:
# docker run --rm -ti jfloff/alpine-python bash
# docker run --rm -ti jfloff/alpine-python python hello.py
# An interactive shell based on Debian with miniconda3 is:
# docker pull continuumio/miniconda3
# docker run -i -t continuumio/miniconda3 /bin/bash
#########
# Contact
#########
LABEL maintainer="Antonio Berlanga-Taylor <a.berlanga@imperial.ac.uk>"
#########################
# Update/install packages
#########################
# Install system dependencies
# For Alpine see:
# https://wiki.alpinelinux.org/wiki/Alpine_Linux_package_management
RUN apk add --no-cache \
tree \
sudo \
vim \
vimdiff
# wget \
# bzip2 \
# unzip \
# git \ # Already in Alpine Python
#####
# If running the example pipelines:
# Cairo graphics libraries are needed for svg plots.
# On Debian images run eg:
#apt-get update
#apt-get upgrade
#apt-get install
#apt-get clean
# Then install packages to allow apt to use a repository over HTTPS:
#apt-get install \
# apt-transport-https \
# ca-certificates \
# curl \
# gnupg2 \
# software-properties-common \
# sudo
# For cairo libraries run:
#sudo apt-get install libcairo2-dev
# Install inkscape:
#sudo apt install inkscape
#####
#########################
# Install Python packages
#########################
RUN pip install --no-cache-dir --upgrade pip setuptools \
&& pip install --no-cache-dir flake8 pytest \
&& pip list
#########################
# Install package to test
#########################
RUN cd /home \
&& git clone https://github.com/AntonioJBT/project_quickstart.git \
&& cd project_quickstart \
&& python setup.py install \
&& cd ..
###############################
# Install external dependencies
###############################
############################
# Default action to start in
############################
# Only one CMD is read (if several only the last one is executed)
#ENTRYPOINT ['/xxx']
#CMD echo "Hello world"
#CMD project_quickstart.py
CMD ["/bin/sh"]
# Create a shared folder between docker container and host
#VOLUME ["/shared/data"]