python - 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:没有这样的文件或目录“:未知
我一直在尝试用谷歌搜索它几个小时,但仍然没有弄清楚我错过了什么。
如果您需要更多信息,请告诉我。
解决方案
这里有几个潜在的问题。您当前的问题是和之间的断开连接/scripts
-scripts/do_something
一个假设来自根目录的完整路径,另一个是相对路径。选择一个并在两个地方使用它。
如果您的 docker 主机是基于 windows 而不是 linux,您可能还会遇到权限问题(因为您没有针对文件调用 python 并且没有对其进行 chmodded)。
推荐阅读
- javascript - Redux saga 接收函数而不是对象作为操作
- python - Paramiko `exec_command` 超时仅适用于短超时,异常类型不匹配
- java - 认真收集输入
- laravel - Laravel 5.8 和 Bootstrap 没有出现猫头鹰轮播
- linux - 使用powershell在linux发行版中获取文件名和文件扩展名
- testing - 测试咖啡馆:第一次测试中未处理的承诺拒绝使第二次测试通过,即使它必须通过抛出未处理的承诺拒绝而失败
- c# - 为什么控制台应用程序需要这么长时间才能启动
- java - 在 Wildfly 中使用 ejb-remoting 时,重负载会在 netty 中产生可能的内存泄漏
- ruby-on-rails - 将表映射到适当的 ActiveRecord::Model
- java - 用于循环代码助手 Netbeans 的 Intellij IDEA