首页 > 解决方案 > docker:来自守护进程的错误响应:OCI 运行时创建失败:没有这样的文件或目录”:未知

问题描述

我有一个运行良好的 python 项目。这是它的 setup.py:

from setuptools import setup

setup(
    name='project',
    version='0.4.2',
    packages=['project', 'project.models', 'project.modules', 'project.transforms'],
    url='http://12.3.4.100/team/project',
    license='',
    author='author1, author2',
    author_email='author1@company.com, athor2@company.com',
    description='Some text',
    scripts=[
        'scripts/do_something'
    ],
    install_requires=[
        'dependency1 >= 0.3.5',
        'torch >= 1.0.0',
        'dependency3 == 0.1.2',
        'numpy >= 1.15.0'
    ],
)

现在我正在对接这个项目。所以我创建了一个 Dockerfile:

FROM pytorch/pytorch:1.5.1-cuda10.1-cudnn7-runtime

COPY project /project
COPY scripts /scripts
COPY requirements.txt requirements.txt

RUN pip install -r requirements.txt --trusted-host 12.3.4.167 --extra-index-url http://12.3.4.167:8081/repository/team-python/simple

ENTRYPOINT ["scripts/do_something"]

但是当我运行图像时出现错误:

docker:来自守护进程的错误响应:OCI 运行时创建失败:container_linux.go:349:启动容器进程导致“exec:“scripts/do_something”:stat scripts/do_something:没有这样的文件或目录“:未知

我一直在尝试用谷歌搜索它几个小时,但仍然没有弄清楚我错过了什么。

如果您需要更多信息,请告诉我。

标签: pythondocker

解决方案


这里有几个潜在的问题。您当前的问题是和之间的断开连接/scripts-scripts/do_something一个假设来自根目录的完整路径,另一个是相对路径。选择一个并在两个地方使用它。

如果您的 docker 主机是基于 windows 而不是 linux,您可能还会遇到权限问题(因为您没有针对文件调用 python 并且没有对其进行 chmodded)。


推荐阅读