ошибка сборки mxnet внутри образа Docker - PullRequest
0 голосов
/ 11 июня 2018

Когда я пытался собрать mxnet внутри образа Docker, я получил следующее сообщение:

Step 14/16 : RUN ["/bin/bash", "-c", "cd /workspace/Project/mxnet"]

---> Running in c9337d66ee5e /workspace/Project/mxnet  
Removing intermediate container c9337d66ee5e  
---> b92ad26e0218  Step 15/16 : RUN ["/bin/bash", "-c", "make"]  
---> Running in 653a66e430b2 make:
*** No targets specified and no makefile found.  
Stop. The command '/bin/bash -c make' returned a non-zero code: 2

есть предложения?

1 Ответ

0 голосов
/ 13 июня 2018

Проблема в

Step 15/16 : RUN ["/bin/bash", "-c", "make"] 
[…] The command '/bin/bash -c make' returned a non-zero code: 2

, вероятно, связана с тем, что вы предварительно запустили эту команду:

Step 14/16 : RUN ["/bin/bash", "-c", "cd /workspace/Project/mxnet"]

, которая является типичным шаблоном ошибок в Docker.

Подводя итог, каждая команда Docker RUN выполняется в подоболочке, так что если вы выполните

RUN ["/bin/bash", "-c", "cd /workspace/Project/mxnet"]
RUN other commands

На другие команды не повлияет изменение каталога.

Чтобы решить эту проблему, вы можете либо:

  1. заменить обе строки на

    RUN cd /workspace/Project/mxnet && other commands
    
  2. , либо (предпочтительно решение) заменить обе строки на

    WORKDIR /workspace/Project/mxnet
    RUN other commands
    

Решение 2 более идиоматично, и обратите внимание, что

WORKDIR /dir
RUN some command

семантически можно рассматривать как эквивалент команды

mkdir -p /dir && cd /dir && /bin/sh -c "some command"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...