当前位置: 首页 > 知识库问答 >
问题:

docker:在未更改CMD的情况下,在$PATH解决方案中未找到可执行文件

云项禹
2023-03-14

我正在试着运行bwa的官方dockerhttps://hub.docker.com/r/biocontainers/bwa/,我不断收到一个错误:

sudo docker run -u="root" -v ~/files/:/opt/inputs/ biocontainers/bwa "index /opt/inputs/hg19.fa"
docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "exec: \"index /opt/inputs/hg19.fa\": stat index /opt/inputs/hg19.fa: no such file or directory": unknown.
ERRO[0000] error waiting for container: context canceled 

编辑:从lst字符串中删除双引号会产生不同的错误:

sudo docker run -u="root" -v ~/files/:/opt/inputs/ biocontainers/bwa index /opt/inputs/hg19.fa
docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "exec: \"index\": executable file not found in $PATH": unknown.

我在这里找到了背后的原因:

docker:在$PATH中未找到可执行文件

这是正确的原因,但由于此文件是预构建的,并且我想使用正式版本,因此我无法在Dockerfile中更改CMD synthax。我如何在不改变容器本身的情况下实现这一点?

共有1个答案

吕德业
2023-03-14

由于该文件是预构建的,并且我想使用正式版本,因此我无法在Dockerfile中更改CMD synthax

实际上,您确实在run命令中更改了CMD的设置。图像名称之后的所有内容都会覆盖图像附带的默认CMD值:

sudo docker run -u="root" -v ~/files/:/opt/inputs/ biocontainers/bwa "index /opt/inputs/hg19.fa"
docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "exec: \"index /opt/inputs/hg19.fa\": stat index /opt/inputs/hg19.fa: no such file or directory": unknown.
ERRO[0000] error waiting for container: context canceled 

在这种情况下,您已经用“index/opt/inputs/hg19.fa”替换了Dockerfile中附带的CMD的bwa值。注意,引号和空格包含在您尝试运行的可执行文件中。它并不是试图用一个参数来运行索引。正如您所料。这就是您看到错误消息的原因:

"exec: \"index /opt/inputs/hg19.fa\": stat index /opt/inputs/hg19.fa: no such file or directory"

要运行命令index,请删除引号:

sudo docker run -u="root" -v ~/files/:/opt/inputs/ biocontainers/bwa index /opt/inputs/hg19.fa
 类似资料:
  • 我正在尝试为elasticsearch 1.7运行docker容器。下面是我的Dockerfile: Docker build运行良好。但是docker run命令给了我这个错误:来自守护进程的错误响应:oci运行时错误:container\u linux。go:265:启动容器进程导致“exec:\“elasticsearch\”:在$PATH中找不到可执行文件” 我使用的Mac和Docker版

  • 我已经检查了垃圾箱,里面没有ping

  • 我有一个docker映像,它安装了,但是当我试图运行它时,我得到了一个错误: 如果我在交互模式下运行bash,则可用。 我做错了什么? 这是我的Dockerfile:

  • 在Amazon SageMaker中,我试图部署一个带有Scikit学习模型的自定义创建的Docker容器,但是部署总是出错。 以下是我的步骤: > 在我的本地机器上创建了一个脚本(script.py),并分割了培训和测试数据。该脚本包含一个主要部分,接受参数“输出列车dir”、“模型dir”、“列车”和“测试”,并包含函数模型fn、输入fn、输出fn和预测fn 在本地测试了脚本,效果良好 pyt

  • 我在学docker。我尝试在docker,com上运行一个示例dockerfile。但我有一个问题是“来自守护进程的错误响应:OCI运行时创建失败:container\u linux.go:345:启动容器进程导致”exec:\“flask\”:在$PATH中找不到可执行文件“:未知”。 非常感谢。

  • 我有一个动作执行,其中一个if/fe是如果用户按“A”键,它会将文本设置为不同的内容。程序不是在按“A”后设置文本,而是跳过设置文本并向下移动到下面的if语句。我的问题是,如何让我的程序在我的if语句之前设置文本?我的代码在下面,谢谢!