Recommended base image
As suggested in my comment, you could write a Dockerfile that looks like:
FROM python:3
RUN pip install --no-cache-dir --upgrade pip &&
pip install --no-cache-dir nibabel pydicom matplotlib pillow &&
pip install --no-cache-dir med2image
CMD ["cat", "/etc/os-release"]
And the command example above could confirm at runtime (docker build --pull -t test . && docker run --rm -it test
) that this image is based on the GNU/Linux distribution "Debian stable".
Generic Dockerfile
template
Finally to give a comprehensive answer, note that a good practice regarding Python dependencies consists in specifying them in a declarative way in a dedicated text file (in alphabetical order, to ease review and update) so that for your example, you may want to write the following file:
requirements.txt
matplotlib
med2image
nibabel
pillow
pydicom
and use the following generic Dockerfile
FROM python:3
WORKDIR /usr/src/app
COPY requirements.txt ./
RUN pip install --no-cache-dir --upgrade pip &&
pip install --no-cache-dir -r requirements.txt
COPY . .
CMD [ "python", "./your-daemon-or-script.py" ]
To be more precise, this is the approach suggested in the documentation of the Docker official image python
, §. How to use this image
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…