入口点无法执行命令

约翰

我不明白为什么我的入口点无法执行我的命令。我的入口点如下所示:

#!/bin/bash

...

exec "$@"

我的脚本已经存在,当我进入容器时可以运行它:

drwxrwxrwx 1 root root 512 mars  25 09:07 .
drwxrwxrwx 1 root root 512 mars  25 09:07 ..
-rwxrwxrwx 1 root root 128 mars  25 10:05 entrypoint.sh
-rwxrwxrwx 1 root root 481 mars  25 09:07 init-dev.sh
-rwxrwxrwx 1 root root 419 mars  25 10:02 migration.sh
root@0c0062fbf916:/app/scripts# pwd
/app/scripts

当我运行我的容器时:docker run my_container "scripts/migration.sh"

我收到了这个错误:

scripts/entrypoint.sh: line 8: /app/scripts/migration.sh: No such file or directory

如果我只是运行,我会遇到同样的错误ls -all

docker run my_container "ls -all"
exec: ls -all: not found

我正在将 linux 切换到 windows <-> windows 到 linux 所以我检查将 lf 更改为 crlf 但没有任何更改

拉斯克斯

您的第一个命令不起作用,因为您的脚本在/app/scripts(注意复数),但您正在尝试运行 run script/migration.sh此外,目前尚不清楚容器中的当前工作目录是什么:即使您编写了scripts/migration.sh,也只有在(a)您Dockerfile包含 aWORKDIR /app或您的docker run命令行包含-w /app. 最好使用完全限定的路径:

docker run mycontainer /app/scripts/migration.sh

您的第二个示例 ( docker run my_container "ls -all") 被过度引用并且永远不会起作用。你需要写docker run my_container ls -all,除了它-all实际上不是一个ls接受的选项,尽管它可以通过-a-l选项的组合来工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法执行命令:已杀死

Cron 无法执行命令

如何在默认入口点之前执行命令?

Bash 菜单脚本 - 无法执行命令

systemd服务:无法执行命令:权限被拒绝

我无法执行命令modprobe vboxdrv

在odoo 10 Windows中无法执行命令lessc

go get 后 Azure Pipeline 无法执行命令

在终端中执行命令后,有时我无法执行其他命令

Openshift中的PostgreSQL无法执行入口点,也无法启动数据库

通过gnome-terminal打开终端,然后执行命令,错误:“无法执行子进程”

节点检查控制台 - 无法执行命令,去代替换行

React Native iOS构建失败“无法执行命令:分段错误:11”

无法执行命令window.document.execCommand(“ paste”)放在方括号中

无法执行命令以在 docker 容器中设置环境变量

码头工人:ENTRYPOINT无法执行命令,因为它找不到文件

iOS Xcode编译错误:无法执行命令:分段错误:11

Azure CLI无法执行命令-一直说凭据已过期

org.hibernate.tool.schema.spi.CommandAcceptanceException:无法执行命令

无法执行命令行PostGIS pgsql2shp

Windows 2008 R2任务计划程序无法执行命令

无法执行命令:分段错误:11调试错误

无法执行ffprobe命令

无法执行 makemigrations 命令

在popen调用后如何检测shell是否无法执行命令?不要与命令退出状态混淆

linux命令生成IP时,通过SSH登录服务器后无法执行命令

SSIS中脚本任务中的“由于脚本入口点无效而无法执行脚本”错误

ReviewBoard / SVN:rbt发布无法执行命令['svn','diff','-diff-cmd = diff','-notice-ancestry','-r','BASE']

在程序上使用llvm传递时,错误:无法执行命令:分段错误(核心已转储)