3
我们有一个Dockerfile,看起来像这样:Docker图像如何在本地构建,但不在远程目标上?
from ubuntu:trusty
RUN apt-get update && apt-get -y upgrade
RUN apt-get install -y build-essential g++ libblas-dev liblapack-dev gfortran python-dev python-pip
RUN pip install --upgrade numpy
RUN pip install --upgrade statsmodels
RUN pip install --upgrade flask
COPY . server
WORKDIR server
EXPOSE 5000
ENTRYPOINT python2 prediction_app.py
在当地,这些步骤不完整的事件。然而,在我们的远程目标,此步骤失败:
RUN pip install --upgrade statsmodels
当PIP试图删除一个目录不为空:
Found existing installation: six 1.5.2
Uninstalling six:
Successfully uninstalled six
Cleaning up...
Exception:
Traceback (most recent call last):
[... snip many lines ...]
onerror(os.rmdir, path, sys.exc_info())
File "/usr/lib/python2.7/shutil.py", line 254, in rmtree
os.rmdir(path)
OSError: [Errno 39] Directory not empty:...
Storing debug log for failure in /root/.pip/pip.log
两个问题:
如何这有可能是本地工作,并远程失败?他们不应该都以相同的方式失败或以相同的方式成功,因为他们都从相同的图像开始?我试图理解我的心理模型有什么问题。
有没有办法查看失败日志?它看起来像被转储到一个不完整的Docker镜像中,我不知道该如何解决这个问题。
我不知道它是否有关。由于statsmodels没有以pip兼容的方式指定依赖项,我建议明确apt-get或pip-install scipy,pandas和patsy。 – user333700
@ user333700不幸的是这不是一个选项,因为可靠的图像的scipy太过时了。 –
您在本地和远程主机上运行什么操作系统? –