【问题标题】:Starting container process caused "exec: \\"tail -f /dev/null\\": stat tail -f /dev/null: no such file or directory启动容器进程导致 "exec: \\"tail -f /dev/null\\": stat tail -f /dev/null: no such file or directory
【发布时间】:2023-04-02 04:10:01
【问题描述】:

因为我试图保持容器运行,所以我在 docker compose 文件中将“tail -f /dev/null”指定为 command

version: '2'
services:
  serviceName:
  .
  .
  .

  command:
    - tail -f /dev/null
  stdin_open: true
  tty: true
  .
  .
  .

运行 docker-compose up 后出现以下错误:

ERROR: for serviceName Cannot start service serviceName: b'OCI runtime create failed: container_linux.go:348: 启动容器进程导致"exec: \"tail -f /dev/null\": stat tail -f /dev/null: 没有这样的文件或目录": 未知' 错误:启动项目时遇到错误。

但是,如果我从 CLI 使用相同的命令启动容器,它会完美运行。

幕后实际发生了什么,我怎样才能使这项工作发挥作用?

容器的 Linux 版本是: 4.9.87-linuxkit-aufs.

主机使用Windows 10 OS,Docker for Windows版本为:18.03.1-ce-win65(17513), 码头工人撰写 1.21.1

【问题讨论】:

    标签: linux docker docker-compose tail


    【解决方案1】:

    建议尝试:

    command:
      - tail
      - -f
      - /dev/null
    

    根据错误消息,docker compose 会将命令数组的第一个元素视为命令名称(包括空格等)。

    【讨论】:

      【解决方案2】:
      command: ["tail", "-f", "/dev/null"]
      

      在 docker-compose.yml 这对我有用

      【讨论】:

        猜你喜欢
        • 2019-07-16
        • 1970-01-01
        • 1970-01-01
        • 2017-10-06
        • 2016-09-03
        • 2020-03-19
        • 1970-01-01
        • 2021-11-16
        • 1970-01-01
        相关资源
        最近更新 更多