【问题标题】:starting container process caused "exec: \"command\": executable file not found in $PATH": unknown启动容器进程导致“exec:\”command\”:$PATH 中找不到可执行文件”:未知
【发布时间】:2021-04-23 05:20:50
【问题描述】:

尝试从 docker exec 运行 command 失败,但不是从交互式 shell。

# command which echo
/usr/bin/echo
# which echo
/usr/bin/echo
#

码头工人执行

C:\dev> docker ps -n 1
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
93eb09dcde3b        ubuntu              "/bin/bash"         4 minutes ago       Up 4 minutes                            peaceful_knuth
C:\dev> docker exec peaceful_knuth command which echo
OCI runtime exec failed: exec failed: container_linux.go:349: starting container process caused "exec: \"command\": executable file not found in $PATH": unknown
C:\dev> docker exec peaceful_knuth which echo
/usr/bin/echo
C:\dev>

【问题讨论】:

    标签: docker shell sh


    【解决方案1】:
    $ type command
    command is a shell builtin
    

    command 是一个内置的 shell。没有/usr/bin/command。要运行内置的 shell,请先运行 shell。

    docker ...... sh -c 'command which echo'
    

    【讨论】:

    • 是的!确切地。 C:\dev> docker exec Peace_knuth type command OCI runtime exec failed: exec failed: container_linux.go:349: 启动容器进程导致 "exec:\"type\": 可执行文件在 $PATH": 未知 C:\ dev> docker exec Peace_knuth sh -c "type command" 命令是一个内置的 shell C:\dev> 编辑:便便,cmets 中没有降价
    【解决方案2】:

    我在发帖后不到 7 秒就知道了。今天的课程:RTFM。

    来自https://docs.docker.com/engine/reference/commandline/exec/ docker exec -ti my_container sh -c "echo a && echo b"

    结果

    C:\dev> docker exec peaceful_knuth command which echo
    OCI runtime exec failed: exec failed: container_linux.go:349: starting container process 
        caused "exec: \"command\": executable file not found in $PATH": unknown
    C:\dev> docker exec peaceful_knuth which echo
    /usr/bin/echo
    C:\dev> docker exec peaceful_knuth sh -c "command which echo"
    /usr/bin/echo
    C:\dev>
    

    来自https://stackoverflow.com/users/9072753/kamilcuk,为他的回答点赞。

    C:\dev> docker exec peaceful_knuth type command
    OCI runtime exec failed: exec failed: container_linux.go:349: starting container 
         process caused "exec: \"type\": executable file not found in $PATH": unknown
    C:\dev> docker exec peaceful_knuth sh -c "type command"
    command is a shell builtin
    C:\dev>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-07
      • 2018-09-21
      • 2022-11-10
      • 2020-01-15
      • 1970-01-01
      相关资源
      最近更新 更多