/bin/sh:应用:未找到
/bin/sh: app: not found
/ # which chasquid-util
/usr/local/bin/chasquid-util
/ # chasquid-util
/bin/sh: chasquid-util: not found
/ # /usr/local/bin/chasquid-util
/bin/sh: /usr/local/bin/chasquid-util: not found
/ # ls -al /usr/local/bin/
total 27432
drwxr-xr-x 1 root root 4096 Jul 26 16:18 .
drwxr-xr-x 1 root root 4096 Jul 26 16:18 ..
-rwxr-xr-x 1 root root 11721005 Jul 26 16:18 chasquid
-rwxr-xr-x 1 root root 5510494 Jul 26 16:18 chasquid-util
-rwxr-xr-x 1 root root 2910713 Jul 26 16:18 mda-lmtp
-rwxr-xr-x 1 root root 4767277 Jul 26 16:18 smtp-check
-rwxr-xr-x 1 root root 3164845 Jul 26 16:18 spf-check
/ #
鉴于您的上下文,这通常意味着您缺少共享库。对于 alpine,它通常是 glibc,因为它们附带了 libmusl。您可以通过以下方式检查:
ldd chasquid-util
我在 DC 2018 slidedeck 中列出了其他几个原因:
你 运行 是预期的命令吗? (例如 docker run --rm my_image -it echo hello world
将 运行 命令 -it
)
docker 是否试图 运行 一个 json 字符串? (任何 json 配对错误将显示为将 json 作为字符串执行)
文件是否存在...在路径和容器内? (不能 运行 在不将其构建到图像或安装卷的情况下从容器中的主机中获取内容)
如果是shell脚本,检查第一行(例如#!/bin/bash
)
检查 linux shell 脚本中的 windows 换行符(使用不同的编辑器查找 ^M
或 \r
)
如果是二进制文件,可能是缺少库(使用ldd
检查)
/ # which chasquid-util
/usr/local/bin/chasquid-util
/ # chasquid-util
/bin/sh: chasquid-util: not found
/ # /usr/local/bin/chasquid-util
/bin/sh: /usr/local/bin/chasquid-util: not found
/ # ls -al /usr/local/bin/
total 27432
drwxr-xr-x 1 root root 4096 Jul 26 16:18 .
drwxr-xr-x 1 root root 4096 Jul 26 16:18 ..
-rwxr-xr-x 1 root root 11721005 Jul 26 16:18 chasquid
-rwxr-xr-x 1 root root 5510494 Jul 26 16:18 chasquid-util
-rwxr-xr-x 1 root root 2910713 Jul 26 16:18 mda-lmtp
-rwxr-xr-x 1 root root 4767277 Jul 26 16:18 smtp-check
-rwxr-xr-x 1 root root 3164845 Jul 26 16:18 spf-check
/ #
鉴于您的上下文,这通常意味着您缺少共享库。对于 alpine,它通常是 glibc,因为它们附带了 libmusl。您可以通过以下方式检查:
ldd chasquid-util
我在 DC 2018 slidedeck 中列出了其他几个原因:
你 运行 是预期的命令吗? (例如
docker run --rm my_image -it echo hello world
将 运行 命令-it
)docker 是否试图 运行 一个 json 字符串? (任何 json 配对错误将显示为将 json 作为字符串执行)
文件是否存在...在路径和容器内? (不能 运行 在不将其构建到图像或安装卷的情况下从容器中的主机中获取内容)
如果是shell脚本,检查第一行(例如
#!/bin/bash
)检查 linux shell 脚本中的 windows 换行符(使用不同的编辑器查找
^M
或\r
)如果是二进制文件,可能是缺少库(使用
ldd
检查)