/ bin / sh:应用程序:未找到

时间:2018-07-26 18:22:58

标签: docker alpine

/ # 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
/ # 

1 个答案:

答案 0 :(得分:1)

鉴于您的情况,这通常意味着您缺少共享库。对于alpine,通常是glibc,因为它们与libmusl一起提供。您可以使用以下方法进行检查:

ldd chasquid-util

DC 2018 slidedeck中列出了其他一些原因:

  • 您是否运行了预期的命令? (例如docker run --rm my_image -it echo hello world将运行命令-it

  • 泊坞窗是否正在尝试运行json字符串? (任何json解析错误都会显示为以字符串形式执行json)

  • 该文件是否存在...在容器的路径和内部? (不能将主机中的内容放入容器中而不将其构建到映像中或装入卷)

  • 如果它是Shell脚本,请检查第一行(例如#!/bin/bash

  • 在linux shell脚本上检查Windows换行符(使用不同的编辑器查找^M\r

  • 如果它是二进制文件,则可能是缺少库(使用ldd检查)