Невозможно развернуть докер с помощью conda-forge - PullRequest
0 голосов
/ 08 июля 2019

Я развертываю докер-решение для своего приложения. В моем файле Docker я использовал несколько conda-forge для создания некоторых контейнеров. Он работал очень хорошо для некоторых контейнеров и выдает ошибку для другого, и я уверен, что речь идет не о пакете, потому что иногда для одного и того же пакета он работает, а для других нет.

Я пытался использовать pip вместо conda, но это приводило к другим ошибкам, поскольку я изначально использовал conda для всех своих настроек. Также я прочитал, что RUN conda update --all решит это, и для настройки пипса RUN pip install --upgrade setuptools

Это часть моего файла Docker:

FROM dockerreg.cyanoptics.com/cyan/openjdk-java8:1.0.0
RUN conda update --all
RUN conda install -c conda-forge  happybase=1.1.0 --yes
RUN conda install -c  conda-forge  requests-kerberos
RUN pip install --upgrade setuptools
RUN pip install --upgrade pip
RUN pip install  kafka-python
RUN pip install requests-negotiate 

Ожидаемый результат - создание всех контейнеров успешно, но я получаю следующее:

     ---> Using cache
     ---> 82f4cd49037d
     Step 14 : RUN conda install -c conda-forge  happybase=1.1.0 --yes
     ---> Using cache
     ---> c035b960aa3b
     Step 15 : RUN conda install -c  conda-forge  requests-kerberos
     ---> Running in 54d869afcd00
     Traceback (most recent call last):
     File "/opt/conda/bin/conda", line 7, in <module>
     from conda.cli import main
     ModuleNotFoundError: No module named 'conda'
     The command '/bin/sh -c conda install -c  conda-forge  requests- 
     kerberos' returned a non-zero code: 1
     make: *** [dockerimage] Error 1 

1 Ответ

0 голосов
/ 11 июля 2019

Попробуйте объединить две команды conda install в одну команду: RUN conda install -c conda-forge happybase=1.1.0 requests-kerberos --yes.

Я столкнулся с аналогичной проблемой, когда команды установки разбились;выясняется, что проблема заключалась в том, что первый вызвал обновление версии python, которая, в свою очередь, была несовместима с командой conda install, что приводило к появлению ошибки, которую вы видите.

Другой найденный мной способ - добавитьpython 3.6.8 как еще одна установка arg.У одного из устанавливаемых мной пакетов должна была быть зависимость от python 3.7, что заставляло его обновлять python и нарушало conda install.

...