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

Docker /bin/sh:未找到应用程序,docker,alpine,Docker,Alpine,根据您的上下文,这通常意味着您缺少一个共享库。对于阿尔卑斯山,这是典型的glibc,因为他们与libmusl一起发货。您可以通过以下方式进行检查: / # 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:

根据您的上下文,这通常意味着您缺少一个共享库。对于阿尔卑斯山,这是典型的glibc,因为他们与libmusl一起发货。您可以通过以下方式进行检查:

/ # 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
/ # 
我的报告中列出了其他几个原因:

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

  • docker正在尝试运行json字符串吗?(任何json配对错误都将显示为以字符串形式执行json)

  • 文件是否存在。。。在路径中和容器内?(如果不将内容构建到映像或装入卷,则无法在容器内从主机运行内容)

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

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

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


是的,chasquid是一款golang应用程序。我在阿尔卑斯山建立了chasquid应用程序,现在它可以工作了。
ldd chasquid-util