【问题标题】:What is equivalent remote api command to 'docker run -d'?与“docker run -d”等效的远程 api 命令是什么?
【发布时间】:2013-07-20 12:42:04
【问题描述】:

我正在尝试通过远程 api 调用 docker 命令。

Docker 远程 API 似乎没有“分离模式”选项。 http://docs.docker.io/en/latest/commandline/command/run/

我可以在 bash 中使用这个应用程序,我想通过远程 api 使用它。 https://github.com/grigio/docker-stringer

【问题讨论】:

    标签: docker remoteapi


    【解决方案1】:

    事实上,远程 API 没有“分离”模式,因为“附加”模式是一个额外的端点。

    如果您想使用远程 API 在分离模式下运行,只需创建并启动您的容器而不附加到它。

    如果容器仍然立即关闭,请使用docker logs <container id> 检查错误。这个问题可能与detach无关。

    【讨论】:

    • 您好,非常感谢您对此的意见。我试过这个,但容器很快就会启动和停止。当我使用 docker 客户端时,我可以通过添加选项 -t (tty) 来避免容器被停止。感谢您对此的任何想法。
    • 哦。但这似乎并不等同。使用 docker run -d 将导致进程保持打开并运行,但使用远程 api /container/ID/start 将启动容器并终止。
    【解决方案2】:

    据我所知,在对/containers/create 的调用中,-i CLI 选项的远程 API 等效项是 "OpenStdin": true。如果没有这个,从标准输入读取的任何内容似乎都会收到EOT

    This 是 stdin 被初始化(或未初始化)为容器的管道的地方,我没有跟踪它。

    【讨论】:

      【解决方案3】:

      理解“docker run”命令从API角度封装了一系列命令很重要:

      • 拉取图片(如果本地不可用)
      • 创建容器
      • 附加到容器
      • 启动容器

      虽然“docker run -d”与上面的相同,但没有“附加”步骤。

      因此,您需要在使用远程 API 时创建并启动您的容器。

      如果容器仍然立即关闭,请使用docker logs <container id> 检查错误。这个问题可能与detach无关。

      【讨论】:

      • 在创建容器之前,如果本地不可用,它会拉取图像。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多