Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to install packages with miniconda in Dockerfile?

Tags:

I have a simple Dockerfile:

FROM ubuntu:18.04  RUN apt-get update  RUN apt-get install -y wget && rm -rf /var/lib/apt/lists/*  RUN wget \     https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh \     && mkdir /root/.conda \     && bash Miniconda3-latest-Linux-x86_64.sh -b \     && rm -f Miniconda3-latest-Linux-x86_64.sh \     && echo PATH="/root/miniconda3/bin":$PATH >> .bashrc \     && exec bash \     && conda --version  RUN conda --version 

And it cannot be built. At the very last step I get /bin/sh: 1: conda: not found....
The first appearance of conda --version did not raise an error which makes me wonder is that an PATH problem?
I would like to have another RUN entry in this Dockerfile in which I would install packages with conda install ...
At the end I want to have CMD ["bash", "test.py"] entry so that when in do docker run this image it automatically runs a simple python script that imports all the libraries installed with conda. Maybe also a CMD ["bash", "test.sh"] script that would test if conda and python interpreter are indeed installed.

This is a simplified example, there will be a lot of software so I do not want to change the base image.

like image 973
maciek Avatar asked Oct 07 '19 12:10

maciek


People also ask

What packages are installed with Miniconda?

Miniconda is a free minimal installer for conda. It is a small, bootstrap version of Anaconda that includes only conda, Python, the packages they depend on, and a small number of other useful packages, including pip, zlib and a few others.


1 Answers

This will work using ARG and ENV:

FROM ubuntu:18.04 ENV PATH="/root/miniconda3/bin:${PATH}" ARG PATH="/root/miniconda3/bin:${PATH}" RUN apt-get update  RUN apt-get install -y wget && rm -rf /var/lib/apt/lists/*  RUN wget \     https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh \     && mkdir /root/.conda \     && bash Miniconda3-latest-Linux-x86_64.sh -b \     && rm -f Miniconda3-latest-Linux-x86_64.sh  RUN conda --version 
like image 127
LinPy Avatar answered Oct 14 '22 06:10

LinPy